我是 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 或服务中?
谢谢!