私はSpring-Hibernate
アプリケーションで作業しています。私の質問はorphan removal
、以下のコードで説明されているように関連しています。
@Entity
public class User {
...........
@OneToMany(mappedBy = "user", orphanRemoval = true, cascade = CascadeType.ALL)
List<UserRole> userRoles = new ArrayList<>();
..........
}
save/update User
シナリオを考える。1 つの方法は、その子オブジェクトを のようにリストから削除することuser.getUserRoles().remove(userRole)
です。
もう 1 つの方法は、子リストをクリアしuser.getUserRoles().clear()
てから、リクエストに含まれるユーザー ロールが何であれ、それをリストに追加するようなものです。この場合、リクエストに含まれていないユーザー ロールは によって削除されorphan removal
ます。
どちらがより良く、より正しいですか?