如何在hibernate中使用复合键进行一对一映射
我有三张桌子。学生可以注册多个课程 学生 RollNumber整数,StudentName字符串 课程 CourseID整数,CourseName字符串 学生课程 RollNumber整数、CourseID整数、AllotedRoom整数 Student.hbm.xml Course.hbm.xml StudentCourses.hbm.xml 对于在StudentCourses表中选择的任何记录,我希望获得学生姓名以及如何在hibernate中使用复合键进行一对一映射,hibernate,Hibernate,我有三张桌子。学生可以注册多个课程 学生 RollNumber整数,StudentName字符串 课程 CourseID整数,CourseName字符串 学生课程 RollNumber整数、CourseID整数、AllotedRoom整数 Student.hbm.xml Course.hbm.xml StudentCourses.hbm.xml 对于在StudentCourses表中选择的任何记录,我希望获得学生姓名以及 课程名称。我的映射文件应该是什么样子?在学生课程中使用多对一,您可以指定链
课程名称。我的映射文件应该是什么样子?在学生课程中使用多对一,您可以指定链接的类。 那就是
<many-to-one name="Student"
column="studentid"
update="false" insert="false"/>
在Java studentcourse类中,可以指定Student对象的名称,并在查询中使用studentcourse.Student.studentname检索名称。
顺便说一句,StudentCourse通常是一个类,因此您可能需要更改该名称
<hibernate-mapping>
<class name="myPackage.Course" table="COURSE">
<id name="COURSEID" type="integer">
<column name="COURSEID" />
</id>
<property name="COURSENAME" type="string">
<column name="COURSENAME"/>
</property>
</class>
</hibernate-mapping>
<hibernate-mapping>
<class name="myPackage.StudentCourses" table="STUDENTCOURSES">
<composite-id name="STUDENTCOURSES_pk" class="myPackage.STUDENTCOURSES_PK">
<key-property name="STUDENTID" column="STUDENTID"/>
<key-property name="COURSEID" column="COURSEID"/>
</composite-id>
<property name="ALLOTEDROOM" type="integer">
<column name="ALLOTEDROOM"/>
</property>
</class>
</hibernate-mapping>
<many-to-one name="Student"
column="studentid"
update="false" insert="false"/>