29

Hibernateでのカスケードとは何ですか? タグcascadeで見た属性があります。mapそれは何を意味するのですか?

とはcascade = allどういう意味ですか? のように読んだ他の属性があります
cascade="none|save-update|delete|all-delete-orphan|delete-orphan"

4

2 に答える 2

24

カスケードとは、関連付けを介して 1 つのオブジェクトが他のオブジェクトに伝播することを伴う永続化アクションに関するものです。カスケードはさまざまな Hibernate アクションに適用でき、通常は推移的です。アソシエーションを定義するアノテーションの「cascade=...」属性は、そのアソシエーションに対してどのアクションをカスケードする必要があるかを示します。

Cascade = "all" は、すべての主要なカスケード タイプを適用することを意味します。Hibernate 5.3 では、これらのタイプは次のとおりです。

  • 「削除」/「削除」、
  • 「デタッチ」/「エビクト」、
  • "マージ"、
  • "ロック"、
  • "持続",
  • "リフレッシュ",
  • "複製",
  • "save_update" / "更新"

(これらのカスケード型名の一部は古いものであり、非推奨です。)

さらに 3 つの複合タイプがあります。

  • 「all_delete_orphan」 - 「all」と同じ意味に加えて、カスケードによって孤立したエンティティの削除を有効にすることを意味します。
  • 「delete_orphan」 - 「削除」と孤立した削除を意味します。
  • 「なし」 - カスケードがないことを意味します。
于 2013-06-13T12:37:23.940 に答える