2012-06-24 76 views

回答

0

下面是documentation的定義:

持久性對象和集合

短命的,帶有持久化狀態和 業務功能的單線程對象。這些可能是普通的POCO,關於它們的唯一特殊的 是他們當前與(正好是 之一)ISession關聯的。會議結束後,它們將被拆分 並可在任何應用程序層免費使用(例如,直接以數據 傳遞對象到演示文稿和從演示文稿中傳輸對象)。

瞬態對象和集合持久類的

實例當前沒有與 一個ISession的關聯。它們可能已經由應用程序實例化,而不是 (還)持久化,或者它們可能已通過閉合的 ISession實例化。

而就instance states

一個持久類的一個實例可以是在一個三種不同 狀態,其相對於一個持久上下文中定義。該 NHibernate的ISession的對象持久化上下文:

短暫

實例不是,也從未與任何 持久化上下文關聯。它沒有持久性標識(主鍵 值)。

持續

實例目前與某個持久化上下文關聯。它 具有持久標識(主鍵值),並且可能還有數據庫中的相應行。對於特定的持久性 上下文,NHibernate保證永久標識等於 CLR標識(對象的內存中的位置)。

分離

實例曾經與一個持久性上下文相關聯,但 上下文被關閉,或者這個實例是被序列化到另一個進程。 它具有持久性標識,並且可能在 數據庫中有相應的行。對於分離的實例,NHibernate不保證持久化標識和CLR標識之間的關係。

相關問題