Hibernate:如何将子类链接到其超类?

时间:2010-04-29 00:34:03

标签: java hibernate subclass superclass

我在设置网店项目时遇到了一些问题。事实是,我有一个User()超类和两个子类,PrivateUser和BusinessUser。

现在,我不太清楚如何通过hibernate来存储这种关系。

出于此问题的目的,User()类只包含一个字段:
字符串地址;

PrivateUser包含:
String firstName;

和BusinessUser包含:
String CompanyName;

每个字段都有其getter和setter。就像现在一样,我只会存储并能够获得firstName和companyName。当我使用Hibernate从我的数据库中获取用户时,我会得到一个带有空地址的PrivateUser / BusinessUser。

最重要的是,有人可以指向我有用的教程或更好地展示类似的示例代码吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

Hibernate在线文档提供了一些关于映射类的非常好的信息,特别是关于设置子类的这一部分:

http://docs.jboss.org/hibernate/stable/core/manual/en/html/mapping.html#mapping-declaration-subclass

如果要将子类对象存储在公共表中,您需要特别注意使用鉴别器值。

您也可以考虑使用Hibernate获取Java Persistence的副本,Hibernate在我的同事中被认为是“Hibernate Bible”。

http://www.amazon.com/Java-Persistence-Hibernate-Christian-Bauer/dp/1932394885/ref=sr_1_1?ie=UTF8&s=books&qid=1272501916&sr=8-1