我有三张桌子。学生可以注册多门课程。
学生 RollNumber整数,StudentName字符串
CourseID整数,CourseName字符串
StudentCourses RollNumber整数,CourseID整数,AllotedRoom整数
Student.hbm.xml
<hibernate-mapping>
<class name="myPackage.Student" table="STUDENT">
<id name="ROLLNUMBER" type="integer">
<column name="ROLLNUMBER" />
</id>
<property name="STUDENTNAME" type="string">
<column name="STUDENTNAME"/>
</property>
</class>
</hibernate-mapping>Course.hbm.xml
<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>StudentCourses.hbm.xml
<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>对于在StudentCourses表中选择的任何记录,我希望获得学生名称和课程名称。我的映射文件应该是什么样的呢?
发布于 2012-05-12 15:18:48
在您的学生课程中,您可以指定链接类。所以那会是
<many-to-one name="Student"
column="studentid"
update="false" insert="false"/>在Java学生课程类中,您可以指定“学生”对象,并在查询中使用studentcourse.student.studentname检索名称。顺便说一句,StudentCourse通常是一个类,所以您可能想要更改这个名称。
https://stackoverflow.com/questions/10552249
复制相似问题