休止状態:私はCascade.ALLを使用する必要があり、ときに私はそれらを個別に指定する必要があります場合には

user12099587:

私は通常私の注釈を付けるone-to-manymany-to-manymany-to-oneとの関係をCascadeType.ALLすべては私が必要とする機能と、彼らは私を提供するので、。しかし、私はそれが将来的にいくつかの問題に私を導くことができる感じ。それを使用しても大丈夫ですかCascadeType.ALL私はの意識は何をする必要があり、なぜ私はそれを使うべきではないのですか?

Yashganl2yg:

カスケードは、協会を経由して他のオブジェクトに伝播する一つのオブジェクトを含む永続性行動についてです。

カスケードは、Hibernateの行動の多様に適用することができ、それは一般的に推移です。「カスケード= CascadeType ...」の関連付けを定義し、アノテーションの属性はアクションがその関連付けのためにカスケードすべきかを述べています。

カスケード=「全て」の手段は、すべてのプライマリカスケードタイプを適用します。

Hibernateは5.3のように、これらのタイプは次のとおりです。

  • 「削除」/「削除」、
  • 「デタッチ」/「追い出し」、
  • "マージ"、
  • "ロック"、
  • 「持続」、
  • 「リフレッシュ」、
  • 「複製」、
  • "save_update" / "更新"

(これらのカスケード型の名前の一部が古いおよび/または廃止予定です。)

さらに3つの化合物の種類があります。

  • 「all_delete_orphan」 -手段と同じ「すべて」を加えたカスケードによって孤立されたエンティティの削除を可能にします。
  • 「delete_orphan」 -手段「の削除」を加えた孤児の削除。
  • 「なし」 -何のカスケードを意味しません。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=314820&siteId=1