spring-mvc - 问个Java 遇见数据库时的对象设计问题
黄舟
黄舟 2017-04-17 13:01:24
0
3
377

用的 spring mvc + mybatis3 框架,假设有 用户与角色两张表, 以及一张关联表,分别对应的实体 userroleuser_role. 在 service 层, 为这 2 个对象分别建立 IUserService, IRoleService

我想问的是:

  1. 需要为中间表建对象user_role吗?
  2. 如果建了user_role, 需要建IUserRoleService吗?
  3. 中间表的关系维护职责应该放哪个service, 如删除用户同时需删除与角色的关系,删除角色,需删除与用户的关系等等。。

多谢指点!

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全員に返信(3)
小葫芦

完全不需要,数据库设计不一定要和Java对象设计一致,在你的user对象里面包含role,或者role对象包含user就可以了。

补充:

public class UserService {
    @Autowired
    private UserRepository userRepository;

    @Autowired
    private UserRoleRepository userRoleRepository;

    public void deleteUser(User user) {
        userRepository.delete(user);
        userRoleRepository.deleteRoles(user);
    }
}

public class RoleService {
    @Autowired
    private RoleRepository roleRepository;

    @Autowired
    private UserRoleRepository userRoleRepository;

    public void deleteRole(Role role) {
        roleRepository.delete(role);
        userRoleRepository.deleteUsers(role);
    }
}    
いいねを押す +0
洪涛

再请教一下, 获取用户对应的角色,是放在 getUserRoles(User user) 是放在 UserService还是 RoleService ? 判断依据是什么?

いいねを押す +0
迷茫

放哪似乎都可以,如果要避免争论,放到一个单独的命令里头

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!