假设我们有以下@ManyToMany关系:
用户实体
@Entity
public class User {
@ManyToMany
private Set<Role> roles = new HashSet<>();
...
}
角色实体
@Entity
public class Role {
@ManyToMany(mappedBy = "roles")
private Set<User> users = new HashSet<>();
...
}
制作@ManyToMany作业的方法是执行以下操作:
role.getUsers().add(user);
user.getRoles().add(role);
然而,这不会导致Hibernate / JPA走出去并在关系的两端获取集合中的所有实体吗?如果集合真的很大怎么办 - 这不是性能/内存问题吗?有没有更好的方法来处理作业?