2010-01-03 41 views
21

什麼是級聯Nhibernate是什麼意思?Nhibernate Cascade

我看到很多的選項級聯:

  • 刪除
  • 所有
  • AllDeleteOrphan
  • DeleteOrphan
  • SaveUpdate

你能不能用實例和解釋這些他們的區別?

回答

25

這意味着將該操作應用於項目的相關項目。

請參閱:NHibernate Cascades: the different between all, all-delete-orphans and save-update

  • 無 - 不做任何瀑布,讓 用戶自己處理它們。

  • 保存更新 - 當對象是 保存/更新,檢查協會 和保存/更新任何對象, 需要它(包括保存/更新 協會在許多一對多 場景)。

  • 刪除 - 刪除對象 時,刪除關聯中的所有對象 。

  • delete-orphan - 當對象被刪除時,全部刪除關聯中的對象 。在 另外,當一個對象是從關聯中刪除的 而不是 與另一個對象 (孤立)關聯時,也刪除它。

  • 全部 - 當一個對象被保存/更新/刪除時, 檢查關聯和 保存/更新/刪除找到的所有對象。

  • all-delete-orphan-當對象是 保存/更新/刪除,檢查關聯和 保存/更新/刪除找到的所有對象。另外在 之外,當一個對象從關聯中被移除 並且與另一個對象(孤立的)沒有關聯時,也被刪除。

+1

我不明白所有和所有刪除孤兒的區別你能解釋一下嗎? – joncodo 2012-05-24 14:19:22

+1

@JonathanO如果你選擇全部,然後你刪除一個關聯,它只會刪除關聯而不是關聯的對象。 如果您選擇all-delete-orphan,那麼它也會刪除關聯的對象。 – iboware 2013-01-28 12:57:17