小编Luc*_*cas的帖子

DDD - 存储库和多对多关系

我是 DDD 新手,我被困在这里:我在两个实体之间有多对多关系:用户和组。该关系不是聚合,因为用户可以在没有组的情况下存在,组也可以在没有用户的情况下存在。

这是我的 User 类的代码:

public class User {

    private List<Group> groups = new ArrayList<Group>();
    
    private UserRepository userRepository;

    public void create() throws Exception{
        userRepository.create(this);        
        
        // I have to update the groups with the user.
        for (Group group : groups) {
            group.update();
        }
    }
    
     public void addGroup(Group group){
        if (!groups.contains(group)) {
            groups.add(group);
            group.addUser(this);
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我创建一个具有组的用户时,我不知道在哪里关联这些类(我无法使用 ORM)。我是在 User 的 create 方法中完成的,并且我还通过 Spring 管理其中的事务。它是否正确?或者我应该将该代码放在 userRepository 或服务中?

谢谢!

java domain-driven-design ddd-repositories

5
推荐指数
1
解决办法
3405
查看次数