私は Hibernate が初めてで、コレクションを含むエンティティを永続化しようとしています。
Set である属性を含むクラス User があります。
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;
推移的永続性と切り離されたオブジェクトについて読みましたが、まだ機能しません。
私が間違っていることはありますか?