我有一堆實體,我想知道哪一個已經與NHibernate保存()(沒有刷新)。我該怎麼做 ?有沒有辦法知道一個實體是否由NHibernate管理?
2
A
回答
0
如果你想知道,如果事情已經由NHibernate的堅持,你很可能只是檢查「ID」字段,看看它是否已經從默認值
+6
ID的存在並不保證該實體已被保留。 Identity/Native只是NHibernate支持的衆多身份生成算法之一。其他人,如HiLo(用於減少對數據庫的查詢並提高性能),在將記錄插入數據庫之前(但不一定是在之前)分配標識符。 – Jay
4
按照Hibernate's Documentation改變,會話有一個名爲方法Contains(obj)
。
boolean contains(Object object) Check if this instance is associated with this Session. Parameters: object - an instance of a persistent class Returns: true if the given instance is associated with this Session
好吧,我想這應該在你的情況下工作,因爲你的新創建的對象並不在通知後的Isession調用Save
(或Get
)前。試試看,告訴我們會發生什麼。
另一種選擇是在ISession之上創建一個抽象,並實現自己的代碼來檢查實體是否已被保存。
相關問題
- 1. 實體管理器沒有辦法getCriteriaBuilder()
- 2. 有沒有辦法從EntityManager獲取所有的管理實體
- 3. 有沒有辦法知道手機是否有通話?
- 4. 有沒有辦法知道一個對象的C#方法是否被調用?
- 5. 有沒有辦法讓linqpad知道一個字段是主鍵?
- 6. 有沒有辦法知道TCP套接字是否由TCPEventBusBridge關閉
- 7. 有沒有辦法知道是否已經創建了IWin32Window?
- 8. 有沒有辦法知道Data Saver是否啓用?
- 9. 有沒有辦法知道ExecutorService是否成功結束?
- 10. 有沒有辦法知道異常是否被禁用?
- 11. 有沒有辦法知道用戶是否打開郵件?
- 12. 有沒有辦法知道rxjs websocket是否打開
- 13. 有沒有辦法知道Flash Player是否安裝了SWFObject?
- 14. 有沒有辦法在VB.NET中知道一個處理程序是否已經註冊了一個事件?
- 15. 有沒有辦法讓webpack知道全局是否沒有聲明?
- 16. 有沒有辦法知道一個ftp shell腳本失敗?
- 17. 有沒有人知道宇宙字體是否作爲網頁字體託管?
- 18. 有沒有辦法告訴一個實體是否已經在NHibernate二級緩存中
- 19. iOS:有沒有辦法知道用戶是否選擇了退出通知?
- 20. 有沒有辦法知道一個狀態是否處於活動狀態而沒有捕獲ContextNotActiveException?
- 21. 有沒有什麼辦法可以創建一個自由形式的實體
- 22. 有沒有辦法知道誰是「setNeedsDisplay」的發件人?
- 23. 有沒有辦法知道應用程序第一次啓動?
- 24. 有沒有辦法知道電子郵件是否用C#成功轉發?
- 25. 有沒有辦法知道用戶是否喜歡Facebook上的對象?
- 26. 有沒有辦法知道函數是否返回到PHP中的變量?
- 27. 有沒有辦法知道`Promise.join`中哪個承諾失敗?
- 28. 有沒有辦法爲管道指定幾個Jenkins文件?
- 29. 有沒有辦法知道自定義通知即將顯示?
- 30. 在symfony中有沒有辦法讓一個沒有數據庫的實體?
*流利* NHibernate,具體還是隻是NHibernate?也就是說,您是否試圖通過FNH還是HBM來區分實體? – Jay
不,我想知道一個實體是否被調用了Save()。 – Z0RrO
感謝您的澄清。這與Fluent沒有任何關係。你是否也可以訪問調用'Save()'的'ISession',或者只訪問實體? – Jay