簡體   English   中英

NHibernate基類和派生類映射

[英]NHibernate base and derived class mapping

情況:我有一個類MyClass及其“輕量級”版本MyClassLite ,所以我有

public class MyClass : MyClassLite

我還使用hbm文件來映射我的類(它們被映射到同一張表)。 問題是,當我嘗試獲取MyClassLite實體的列表時,不僅獲得了MyClassLite實體,而且還獲得了MyClass實體的列表。 我該如何擺脫呢?

這個ClassLite到底是什么? 為什么您的Class繼承自ClassLite? 這里真的有“ IS-A”關系嗎?

ClassLite存在的原因是什么? 例如,當您必須顯示“類”實例的概述時,該類是您使用的類嗎? 然后,如果是這種情況,則應查看DTO或“視圖”,投影和AliasToBeanEntityResultTransformer。

如果在映射或查詢中為列表配置緊急加載,則將獲取MyClass實現。

在條件查詢中:

Criteria.SetFetchmode("MyClassListProperty", Fetchmode.Eager)

在hql查詢中:

left join fetch MyClassListProperty

在映射文件中:

<set [...] lazy="false"> ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM