JPA は、特定のエンティティが依存する他のエンティティを自動的に永続化/更新/削除するために使用できるカスケードを提供します。Job、BankAccount、および Person (最初の 2 つのエンティティとは OneToMany 関係にあります) の 3 つのエンティティがあるとします。カスケード イベントがない場合は、次のように記述します。
person.addJob(job);
person.addBankAccount(bankAccount);
em.persist(job);
em.persist(bankAccount);
em.persist(person);
カスケードされたイベント (たとえば、CascadeType.PERSIST の型) により、最初の 2 つの persist() 呼び出しを省略でき、1 回の呼び出しでem.persist(person);
依存エンティティも保持されるようになります。
これで、エンティティに作用するコードが、エンティティの内部と密接に結合されます。エンティティを管理する方法は、エンティティ内で使用した注釈と密接に結びついています。追加の結合が発生するため、これは悪い習慣と見なすことができますか?