3つの結合が必要な多対多のハイバネートマッピングが必要です。私はLecturerCourse
のような中間のエンティティなしで解決策を見つけようとしました。結合テーブルの追加プロパティのために多対多のHibernateマッピングを作成するにはどうすればよいですか?
私の講師とコーステーブルの間には、データベースに多かれ少なかれの関係があります。講師はいくつかの講義者によって講習を受けることができ、講師はいくつかの講義を行うことができます。
私はコースを手前に保管しています。しかし、私は講師に講座を割り当てる必要があります。私がコースを割り当てたら、そのコースのキャパシティも保存します。
私のデータベースダイアグラム:
私は休止状態と春を使用しています。コースに任意の講師が割り当てられている場合は、ハイバネートマッピングが必要です。容量フィールドに値を追加する必要があります。
マイ講師マッピング:
@Entity
@Table(name="LECTURER")
public class Lecturer {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="LECTURER_ID_SEQ")
@SequenceGenerator(name="LECTURER_ID_SEQ", sequenceName="LECTURER_ID_SEQ")
private Long Id;
@Column(name="NAME")
private String name;
@Column(name="SURNAME")
private String surname;
@Column(name="EMAIL")
private String email;
@Column(name="USERNAME")
private String username;
@Column(name="PASSWORD")
private String Password;
@ManyToMany
@JoinTable(
name="LECTURER_COURSE",
[email protected](name="LECTURER_ID"),
[email protected](name="COURSE_ID")
)
private List<Course> courses;
//getters - setters
}
マイコースマッピング:
@Entity
@Table(name="COURSE")
public class Course {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="COURSE_ID_SEQ")
@SequenceGenerator(name="COURSE_ID_SEQ", sequenceName="COURSE_ID_SEQ")
private Long id;
@Column(name="NAME")
private String name;
@Column(name="CODE")
private String code;
}
私の問題を解決するためにどのように任意のアイデア?
何を試しましたか?講師にコースを追加して講師を保存すると、データベースにLECTURERテーブルとLECTURER_COURSEテーブルが設定されているかどうかを確認できますか? –
はいそれはデータベースに入力されます。私の質問は、どのようにコースの容量値を格納するかです。コースは講師ごとにいくつかの能力を持つことができます。容量フィールドをどのようにマップできますか? – erencan
この質問に対するaxtavtの答えを見てください:http://stackoverflow.com/questions/4751902/adding-additional-property-to-hibernate-jointable –