[解決済み】@ManyToOne JPAアソシエーションのCascadeType.ALLの意味は何ですか?
2022-04-01 15:50:16
質問
の文脈でカスケードの意味を誤解していたようです。
@ManyToOne
の関係です。
事件のこと
public class User {
@OneToMany(fetch = FetchType.EAGER)
protected Set<Address> userAddresses;
}
public class Address {
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
protected User addressOwner;
}
の意味は何ですか?
cascade = CascadeType.ALL
? 例えば、あるアドレスをデータベースから削除する場合、そのアドレスに
cascade = CascadeType.ALL
は私のデータに影響を与えます(
User
ということでしょうか?)
どのように解決するのですか?
の意味は
CascadeType.ALL
は、パーシステンスがすべての
EntityManager
の操作(
PERSIST, REMOVE, REFRESH, MERGE, DETACH
) を関連するエンティティに適用する。
を削除することは、あなたの場合、悪い考えであるように思えます。
Address
を削除すると、関連する
User
. ユーザは複数のアドレスを持つことができるため、他のアドレスは孤児となる。しかし、その逆のケース(アドレスにアノテーションをつける)では
User
あるアドレスが単一のユーザにのみ属している場合、そのユーザが削除されると、そのユーザに属しているすべてのアドレスの削除が伝播されるのは安全です。
ちなみに、このような場合には
mappedBy="addressOwner"
属性に
User
を使用して、結合カラムがADDRESSテーブルにあるべきことを永続性プロバイダに通知します。
関連
-
[解決済み] Spring Data JPAにおけるCrudRepositoryとJpaRepositoryのインターフェースの違いは何ですか?
-
[解決済み] コレクションへの共有参照が見つかりました org.hibernate.HibernateException
-
[解決済み] 一部の入力ファイルが非推奨のAPIを使用またはオーバーライドしている
-
[解決済み] Androidのコールバックとは何ですか?重複
-
[解決済み] 1行目2列目でBEGIN_ARRAYを期待したが、BEGIN_OBJECTだった。
-
[解決済み] どのように配列の10未満の値(x * 2)を倍増するコードを取得するには?(Java)
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
-
[解決済み] JPA OneToMany/ManyToOne 双方向アソシエーションにおける「アソシエーションの逆側」とは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Javaで拡張子なしのファイル名を取得する方法は?
-
[解決済み] Eclipse デフォルトのフォント名
-
[解決済み] HashMapのtoString関数はなぜ異なる順序で自分自身を印刷するのですか?
-
[解決済み] ボタンでTextFieldをクリアする(Java)
-
[解決済み] この配列の中の数字を入れ替えるには、何が足りないのでしょうか?ジャバ
-
[解決済み] 親から継承したメソッドの可視性を下げることができない [重複]。
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] Java- <T extends Comparable<T>>の意味?
-
[解決済み] アクティビティに割り当てられない
-
[解決済み] 文字列が一意な文字であるかどうかを判定する