2013-06-13 33 views
14

は、休止状態でカスケード接続とは何ですか? mapタグで見たcascade属性があります。それはどういう意味ですか?Hibernateのカスケードとは何ですか?

cascade = allの意味は?私が読む他の属性は
cascade="none|save-update|delete|all-delete-orphan|delete-orphan"です。

+1

ドキュメントを参照しましたか?それはいくつかの点で漠然としていますか?おそらく参照を読むのが面倒な人にあなたの名前を付けさせることを避けるために、それを含めるべきでしょう。 :) – Henrik

+1

@Henrikええ。私はこのhttp://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/collections.htmlを読んでいましたが、私は 'カスケード'を取得しませんでした – saplingPro

答えて

8

カスケードとは、データベースから1つのオブジェクトを削除して、他のオブジェクト(従属オブジェクト)を削除することです。もちろん、通常は実際に削除されるデータベース行です。

カスケードは、保存/更新にも適用できます。

+1

'cascade = all '意味ですか? – saplingPro

+0

cascade = "all"は、save-updateとdeleteの両方をカスケードすることを意味します。 evictとlockの呼び出し – michal

+0

@michalはあなたを得ませんでした – saplingPro

2

カスケーディングは、過渡的な永続性モデルを使用するHibernateの方法です。永続性は、永続性(データベースにまだ保存されていないオブジェクト)と分離されたサブグラフ(子オブジェクト)を自動的に伝播させる技術です。すでに永続化されている親オブジェクトは、save()メソッドまたはpersist()メソッドを呼び出さずに自動的に永続化する必要があります。

Hibernateでカスケードするには、save-update、persist、merge、deleteなどの多くのオプションがあります。Cascade = 'all'はすべてのカスケードオプションを適用する方法です。

関連する問題