只使用NHibernate持久化基类

时间:2012-07-12 14:29:53

标签: nhibernate inheritance

我有像Animal和Cat这样的继承映射。这两个类都有自己的表(映射为join-subclass)。我现在正在尝试NHibernate只保存一个Animal对象,当我向NHibernate的save(或persist)方法提供一个Cat对象时。

通过阅读文档,我假设session.Save("Animal", catObject)应该按我的意愿行事,但它的行为与session.Save(catObject)完全相同。

但是,创建一个新的Animal对象并从Cat对象复制值会起作用,但这会浪费时间和内存。

还有其他可能实现我的目标吗?

1 个答案:

答案 0 :(得分:2)

你不能这样做,IMO如果你需要那么你有设计问题。如果您需要保存Animal,则必须使用Animal实例,而不是Cat或其他任何类型实例

同样@PaulPhillips说创建一个对象的性能/内存成本必须是微不足道的