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

Java 如何在Hibernate hbm文件中进行多对一映射,java,hibernate,hbmxml,Java,Hibernate,Hbmxml,在使用spring hibernate集成程序时,我需要在两个表之间使用多对一关系。我有employee.hbm.xml和admin.hbm.xml,它们有相应的bean类 employee.hbm.xml中的empid在admin.hbm.xml中充当外键 employee.hbm.xml <hibernate-mapping> <class name="entity.Employee" table="employee"> <id name="empid" col

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

employee.hbm.xml
中的
empid
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>
<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>

admin.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>
<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>


当我尝试插入到admin表时,我在字段
empid
上得到一个
NullPointerException
。我应该修改什么来在这两个
hbm
文件之间设置外键约束?

您是否检查了这一点,这对我的编码没有帮助。。我需要知道我应该在哪里更改hbm文件之间的映射。谢谢在这个链接中,他们提到一个
Emp
有多个
证书。所以
Emp
1ToManey关系
。现在你必须决定你在做什么映射。好的,joshi感谢它的多对一,但实际上问题是我得到了空指针异常,我无法得到管理类中employee类对象中设置的值。你能发布你的错误跟踪,以便我们能够理解错误是什么吗真正的问题?你检查过这对我的编码没有帮助吗。。我需要知道我应该在哪里更改hbm文件之间的映射。谢谢在这个链接中,他们提到一个
Emp
有多个
证书。所以
Emp
1ToManey关系
。现在你必须决定你在做什么映射。好的,joshi感谢它的多对一,但实际上问题是我得到了空指针异常,我无法得到管理类中employee类对象中设置的值。你能发布你的错误跟踪,以便我们能够理解错误是什么吗真正的问题?