Hibernate/NHibernate:如何将子类保留为超类的实例
我想通过 NHibernate 保留两个类: - 猫,有名字和 ID, - Kitten,它是 Cat 的子类(没有额外的公共属性)。
出于愚蠢的原因,我想知道是否可以仅映射 Cat? 这样,当我持久化 Kitten 时,它会被保存为 Cat,当我重新加载它时,它会被加载为 Cat。
附加限制: - 尝试时,NHibernate 崩溃了,因为它不认识 Kitten。 - 但是我不想添加鉴别器值,因为我不想让 Hibernate 实例化 Kitten 子类。
非常感谢!
编辑 : 我忘了写下使用显式 ISession.Save("Cat", kitten) 是有效的。 我的问题发生在级联保存期间。
I have two classes I would like to persist via NHibernate:
- Cat, which has a name and an Id,
- Kitten, which is a subclass of Cat (no extra public properties).
For stupid reasons, I would like to know if it is possible to map Cat only? So that when I persist Kitten, it is saved as a Cat and when I reload it, it is loaded as a Cat.
Additional constraints :
- When trying, NHibernate crashed because it did not know Kitten.
- However I do not want to add a discriminator value, as I do not want Hibernate to instantiate the Kitten subclass.
Thank you very much!
EDIT :
I forgot to write that using explicit ISession.Save("Cat", kitten) works. My problem occurs during a cascading save.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
老问题,我想我必须使用接口。
Old question, I guess I would have to use interfaces instead.