我有像Animal和Cat这样的继承映射。这两个类都有自己的表(映射为join-subclass)。我现在正在尝试NHibernate只保存一个Animal对象,当我向NHibernate的save(或persist)方法提供一个Cat对象时。
通过阅读文档,我假设session.Save("Animal", catObject)
应该按我的意愿行事,但它的行为与session.Save(catObject)
完全相同。
但是,创建一个新的Animal对象并从Cat对象复制值会起作用,但这会浪费时间和内存。
还有其他可能实现我的目标吗?
答案 0 :(得分:2)
你不能这样做,IMO如果你需要那么你有设计问题。如果您需要保存Animal
,则必须使用Animal
实例,而不是Cat
或其他任何类型实例
同样@PaulPhillips说创建一个对象的性能/内存成本必须是微不足道的