如何在Hibernate hbm文件中进行多对一映射

时间:2015-09-16 06:09:43

标签: java hibernate hbmxml

我需要在使用spring hibernate集成程序时使用两个表之间的多对一关系。我有employee.hbm.xmladmin.hbm.xml,它们有相应的bean类。

empid中的

employee.hbm.xml充当admin.hbm.xml中的外键。

employee.hbm.xml

<hibernate-mapping>
<class name="entity.Employee" table="employee">
<id name="empid" column="empid" type="java.lang.Integer">
<generator class="native"></generator>

</id>
<property name="empname" column="empname" type="java.lang.String"></property>
<property name="password" column="password" type="java.lang.String"></property>
<property name="designation" column="designation" type="java.lang.String"></property>
<property name="domain" column="domain" type="java.lang.String"></property>
<property name="role" column="role" type="java.lang.String"></property>
<property name="head" column="head" type="java.lang.String"></property>
<property name="specialist" column="specialist" type="java.lang.String"></property>

</class>
</hibernate-mapping>

admin.hbm.xml

<hibernate-mapping>
<class name="entity.Admin" table="admin">
<id name="courseid" column="courseid" type="java.lang.Integer">
<generator class="increment"></generator>
</id>
<property name="coursename" column="coursename" type="java.lang.String"></property>
<property name="participants" column="participants" type="java.lang.Integer"></property>
<!-- <property name="empid" column="empid" type="java.lang.Integer"/> -->
<many-to-one name="employee" class="entity.Employee" fetch="select" 
column="empid" cascade="all"/>
</class>
</hibernate-mapping>

当我尝试插入管理员表时,我在字段NullPointerException上获得了empid。我应该修改什么才能在这两个hbm文件之间建立外键约束

0 个答案:

没有答案