1

私はHibernateの学習を始めたばかりで、そのようなタスクに直面しました。私は3つのテーブルを持っています:学生(id、name)、コース(id、name)、マーク(id_student、id_course、mark)。

Courses.java
public class Courses implements Serializable {
    private Integer id;
    private String  courseTitle;
    private Set<Marks> mark = new HashSet<Marks>
getters and setters...

Students.java
public class Students implements Serializable {
    private Integer id;
    private String  name;
    private Set<Marks> students = new HashSet<Marks>;
getters and setters...

Marks.java
public class Marks implements Serializable {
    private Integer courseId;
    private Integer studentId;
    private Integer mark;
    private Set<Students> marks = new HashSet<Students>;
getters and setters...

Students.hbm.xml
<class name="Students" table="students">
        <id name="id" column="ID">
            <generator class="native"/>
        </id>
        <property name="name" column="NAME"/>
        <set name="students" inverse="true" table="marks">
            <key column="NUM" />
            <many-to-many column="STUDENT_ID" class="Marks" />
        </set>
    </class>

Courses.hbm.xml
 <class name="Courses" table="courses">
        <id name="id" column="ID" type="integer">
            <generator class="native"/>
        </id>
        <property name="courseTitle" column="COURSE_TITLE"/>
        <set name="mark" inverse="true" table="marks">
            <key column="NUMBER" />
            <many-to-many column="COURSE_ID" class="Marks" />
        </set>
    </class>

Marks.hbm.xm
 <class name="Marks" table="marks">
        <id name="studentId" column="STUDENT_ID">
            <generator class="native"/>
        </id>
        <property name="courseId" column="COURSE_ID"/>
        <property name="mark" column="MARK" lazy="true"/>
    </class>

接続は多対多です 4 つのテーブルを作成しない以外に、この 3 つのテーブルを 1 つに接続するにはどうすればよいですか? 多対多接続を作成するときに何がエラーになったのか考えています。私を助けてください。

4

0 に答える 0