私は Hibernate を使用しており、親オブジェクトからその子へのカスケード DELETE 操作を数回実装する必要がありました。次の 2 つのオプションを使用しました。
1 つのオプションは、親オブジェクトで getChildren() を公開し、返された子のコレクションに子を追加し、Hibernate が DELETE を自動的にカスケードできるようにすることです。このオプションの欠点は、Hibernate カスケードをサポートするためだけに使用されるにもかかわらず、getChildren() コレクションを公開する必要があることです。
もう 1 つのオプションは、ParentDao.delete(parent) で子を手動で検索して削除することです。このオプションの欠点は、より多くのカスタム コードです。ただし、バッチ削除ステートメントを使用すると、このオプションのパフォーマンスが向上する場合があります。
主にどのようなアプローチを使用しますか? 他の長所と短所はありますか?