我是 Hibernate 的新手,并尝试保留一个包含集合的实体。
我有我的类 User,其中包含一个 Set 属性。
class User{
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "user_id", referencedColumnName = "id")
@Valid
@Nullable
public Set<Permission> getPermissions()
{
return permissions;
}
}
当我用一组新的权限更新用户并尝试保存它时,权限再次重置为原始值,所有其他值都被更新,只有没有的权限。
@Transactional(readOnly = false)
@Override
public User update(User user)
entityManager.merge(user);
entityManager.flush();
entityManager.refresh(user);
return user;
我已经阅读了有关传递持久性和分离对象的信息,但我仍然没有让它工作。
任何想法我做错了什么?