私はUSERテーブルとCOURSEテーブルを持っています。ユーザーは多くのコースを持つことができ、コースは多くのUSERSを持つことができます。ジャンクションテーブルには、ユーザーがコース(インストラクター、学生など)でどのような役割を果たしているかを決定するROLE値が含まれています。私は、各ユーザのこの役割をどのようにCOURSEに関連づけるかについていくつか必要があります。エンティティへの接合テーブルの値のマッピング
私は、コースに多くのユーザーがあり、その逆もUserクラスであるため、コースのクラスに役割を置くと機能しません。
は、ここで私がこれまで持っているものです。
@Entity
@Table(name = "USERS")
public class User {
@Id
@Column(name = "PK1")
private Long id;
@Column(name = "USER_ID")
private String userId;
@ManyToMany
@JoinTable(name = "COURSE_USERS",
joinColumns = @JoinColumn(name = "USERS_PK1", referencedColumnName = "PK1"),
inverseJoinColumns = @JoinColumn(name = "CRSMAIN_PK1", referencedColumnName = "PK1"))
private Collection<Course> courses;
...
@Entity
@Table(name = "COURSE")
@SecondaryTable(name = "COURSE_USERS",
pkJoinColumns = @PrimaryKeyJoinColumn(name = "CRSMAIN_PK1"))
public class Course {
@Id
@Column(name = "PK1")
private Long id;
// THIS PROBABLY WON'T WORK //
@Column(name = "ROLE", table = "COURSE_USERS")
private Character role;
@Column(name = "AVAILABLE_IND")
private boolean available;
@Column(name = "COURSE_NAME")
private String name;
@Transient
private String url;
...
注:私は、データベーススキーマを変更することはできませんので、接合テーブルは譲れないです。
17秒で私を倒す...いい答え。 – digitaljoel