問題タブ [orphan-removal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hibernate - JPA orphanRemoval=trueはONDELETECASCADEDML句とどのように異なりますか
JPA2.0orphanRemoval
属性について少し混乱しています。
ON DELETE CASCADE
JPAプロバイダーのDB生成ツールを使用して、特定の関係を持つ基盤となるデータベースDDLを作成するときに、これが必要であることがわかると思います。
ただし、DBが存在し、すでにON DELETE CASCADE
関係にある場合、これは削除を適切にカスケードするのに十分ではありませんか?さらに何orphanRemoval
をしますか?
乾杯
java - OneToMany マッピングで子を削除できず、新しい子を追加できない [Hibernate]
この質問が何度も寄せられていることは知っていますが、解決策はどれもうまくいきません。
だから私は親クラスを持っています:
そして子クラス:
新しい電話リストを持つ User クラスの更新を受け取ったので、古い電話をすべて削除して新しい電話を追加したいと思います。このすべての操作が同じ @Transactional で行われていることに注意してください。
私が試した解決策:
user.getPhoneList().clear()
user.getPhoneList().addAll(新しい電話リスト)
上記のロジックを試すと、Hibernate は userId を null として古い電話を設定しようとしています。この位置で、Phone テーブルの userId が null 列ではないため、DataIntegrityViolation を取得しています。
ここで機能する適切なソリューションを提供してください。