JPA 是否会尝试级联持久化已持久化(非分离)的实体?
为了清楚起见,这是我的情况:我想保留一个新用户:
public void addUser(){
    //User is an entity that is related to many Groups
    //The relationship on User side is marked with cascade persist
    User user = new User();
    user.setName("foo");
    user.setGroups(new ArrayList<Groups>());
    //selectedGroups is an List of Groups previously created with persistent Groups
    for(Group g : this.selectedGroups){
        user.getGroups().add(this.groupDao.find(g.getId()));
    }
    //At this point, User.getGroups() is a list of Managed Entities
    //What happens on the following line?
    userDao.persist(user);
}
那么,会发生什么?JPA 会尝试(再次)保留 user.getGroups() 中的每个组吗?或者它会检测到这些组已经存在并且只是更新新的关系?
如果“是的,它将再次存在”,我应该如何注释这种关系以使该代码正常工作?