2011-06-09 35 views
3

有誰知道是否可以添加一個項目到一個集合而不實際檢索該集合中的持久項目?有沒有可以讓我實現這一目標的映射?NHibernate的'只寫'集合,如果有這樣的事情?

我有一個場景,我正在對某些客戶對象執行一些批處理。我希望在我去的時候爲我的客戶添加一些備註,但不希望/不需要已爲客戶保留的備忘錄,因爲這是一個後臺過程,只是添加到集合中。

回答

1

我不確定您的原始問題,但我可以提供一種解決方法 - 創建一個新的Note對象,將其Customer屬性設置爲想要的客戶,並堅持它。簡單,並且適合我。

+0

我一直在玩這個想法,但目前我沒有/需要一個爲我的Note類的壓力機,並希望保持這種方式。 – Matt 2011-06-09 12:07:38

+0

@Matt:關於nHib的好處是你需要做的是'Session.Save(obj);'就這樣。會話對象是你的持有者,並且你已經擁有它:)。如果您使用存儲庫並想抽象會話,則可以在存儲庫基類中編寫一個通用'Save '方法。這就是我所做的。 – 2011-06-09 12:22:03

+0

我有我的會議抽象和保存在一個NHibernate包裝庫,和所有的CRUD方法的通用實現。現在我正在使用這種方法。如果您將集合標記爲inverse = true,那麼在調用我的AddNote方法時不會加載該集合,但是當我保存時,我沒有在我的鏈接表中插入一個插入。關閉但不是那裏... – Matt 2011-06-13 08:43:04

0

我想你應該看看HQL更新/插入,因爲如果要在集合中處理集合中的實體而不加載集合,或者在集合項目上具有歸屬關係,則可以使用這些關係。

相關問題