問題タブ [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.

0 投票する
8 に答える
180946 参照

hibernate - JPA orphanRemoval=trueはONDELETECASCADEDML句とどのように異なりますか

JPA2.0orphanRemoval属性について少し混乱しています。

ON DELETE CASCADEJPAプロバイダーのDB生成ツールを使用して、特定の関係を持つ基盤となるデータベースDDLを作成するときに、これが必要であることがわかると思います。

ただし、DBが存在し、すでにON DELETE CASCADE関係にある場合、これは削除を適切にカスケードするのに十分ではありませんか?さらに何orphanRemovalをしますか?

乾杯

0 投票する
1 に答える
34 参照

java - OneToMany マッピングで子を削除できず、新しい子を追加できない [Hibernate]

この質問が何度も寄せられていることは知っていますが、解決策はどれもうまくいきません。

だから私は親クラスを持っています:

そして子クラス:

新しい電話リストを持つ User クラスの更新を受け取ったので、古い電話をすべて削除して新しい電話を追加したいと思います。このすべての操作が同じ @Transactional で行われていることに注意してください。

私が試した解決策:

user.getPhoneList().clear()
user.getPhoneList().addAll(新しい電話リスト)

上記のロジックを試すと、Hibernate は userId を null として古い電話を設定しようとしています。この位置で、Phone テーブルの userId が null 列ではないため、DataIntegrityViolation を取得しています。

ここで機能する適切なソリューションを提供してください。