我在设置网店项目时遇到了一些问题。事实是,我有一个User()超类和两个子类,PrivateUser和BusinessUser。
现在,我不太清楚如何通过hibernate来存储这种关系。
出于此问题的目的,User()类只包含一个字段:
字符串地址;
PrivateUser包含:
String firstName;
和BusinessUser包含:
String CompanyName;
每个字段都有其getter和setter。就像现在一样,我只会存储并能够获得firstName和companyName。当我使用Hibernate从我的数据库中获取用户时,我会得到一个带有空地址的PrivateUser / BusinessUser。
最重要的是,有人可以指向我有用的教程或更好地展示类似的示例代码吗?
谢谢!
答案 0 :(得分:1)
Hibernate在线文档提供了一些关于映射类的非常好的信息,特别是关于设置子类的这一部分:
http://docs.jboss.org/hibernate/stable/core/manual/en/html/mapping.html#mapping-declaration-subclass
如果要将子类对象存储在公共表中,您需要特别注意使用鉴别器值。
您也可以考虑使用Hibernate获取Java Persistence的副本,Hibernate在我的同事中被认为是“Hibernate Bible”。