[解決済み] JPA CascadeType.ALLで孤児が削除されない
2022-05-17 06:45:34
質問
以下のマッピングでJPAを使用して、孤児ノードを削除するのに苦労しています。
@OneToMany (cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "owner")
private List<Bikes> bikes;
孤児となったロールがデータベースをうろつくという問題を抱えています。
私は、アノテーション
org.hibernate.annotations.Cascade
Hibernate固有のタグを使用できますが、明らかに私のソリューションをHibernateの実装に結び付けたくはないのです。
EDIT : JPA2.0ではサポートされるようです。
どのように解決するのですか?
Hibernateで使用する場合、明示的にアノテーションを定義する必要があります。
CascadeType.DELETE_ORPHAN
と併用することで、JPAの
CascadeType.ALL
.
Hibernateを使用する予定がない場合、孤児となるレコードを避けるために、まず子要素を明示的に削除し、次にメインレコードを削除する必要があります。
実行シーケンス
- 削除するメイン行を取得
- 子要素を取得する
- すべての子要素を削除
- メイン行を削除
- セッションを閉じる
JPA 2.0では、オプションの orphanRemoval = true
@OneToMany(mappedBy="foo", orphanRemoval=true)
関連
-
[解決済み] Spring Data JPAにおけるCrudRepositoryとJpaRepositoryのインターフェースの違いは何ですか?
-
JavaMailのメール送信が失敗するケースとその説明の分析
-
Eclipseプロンプトを実行する java仮想マシンを使用しない
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
JSPで「リストが型解決できない!」の解決方法
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] JPA EntityManager。なぜmerge()ではなくpersist()を使うのか?
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
-
[解決済み】JPA JoinColumnとmappedByの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スレッド "main "での例外をEclipseで解決 java.lang.Error: 未解決のコンパイル問題、コンパイラとパッケージの不整合
-
javaの実行中に「javaの例外が発生しました」と表示された場合はどうすればよいですか?
-
jd-gui Java Exceptionが発生しました。
-
javaで非静的な解を静的な参照にすることができない
-
this()の呼び出しはコンストラクタ本体の最初の文でなければならない 例外解決と原因分析
-
エラーの解決方法 jarfile XXX.jarにアクセスできません。
-
Spring BootのテストメソッドFailed to load ApplicationContextの問題を解決する
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合
-
HttpClientがGZIP形式でない場合の対処法
-
テストが見つかりませんでした