我试图为表的一对一关系做一个XML Hibernate映射
用户(UserId,Name,StatusId) 状态(StatusId,StatusName)
我试过这个,我在论坛上找到了
在User.hbm.xml
下 <many-to-one class="Status" name="statusid" property-ref="statusid">
<column name="statusname" />
</many-to-one>
和becoz这个我得到了这个错误
SEVERE:初始SessionFactory创建失败.java.lang.NullPointerException 警告:StandardWrapperValve [默认值]:PWC1406:servlet的Servlet.service()默认引发异常 java.lang.ExceptionInInitializerError
当我使用PK作为参考时,我没有收到此错误..
任何人都可以解释该属性的含义以及为什么会出现此错误? PS:我正处于学习阶段,请提供帮助&gt;。&lt;
答案 0 :(得分:1)
如果您没有特别的东西,以下映射应该有效。然而,它总是有助于完整的堆栈跟踪。
<many-to-one class="Status" name="statusid" column="StatusId" />
答案 1 :(得分:1)
哦,你真的想加入User.statusid = Status.statusname
吗?这意味着statusname是状态的备用键。
在property-ref中,您需要设置您引用的Status对象的属性。 见Associations on Alternate Keys:
<many-to-one class="Status" name="statusid" property-ref="statusname"/>