Bir USER tablomuz ve bir COURSE tablom var. Bir KULLANICI birçok DERS ve bir çok KULLANICI olabilir. Birleşim tablosu, kullanıcının bir DERSİNDE (yani, Eğitmen, Öğrenci, vb.) Hangi rolünü belirlediğini belirleyen bir ROL değeri içerir. Bu rolü her bir KULLANICI için DERSE ile nasıl ilişkilendirdiğime ihtiyacım var.Birleşim tablosundaki Varlık değerini eşleme
Bu kursu Ders sınıfına koyarsam, bir Kur’un birçok kullanıcısı olduğundan ve tersi Kullanıcı sınıfında çalışamaz.
İşte ben bugüne kadar ne var:
@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;
...
Not: Ben veritabanı şemasını değiştiremem, böylece kavşak tablo tartışıImayacak olduğunu.
17 saniyede beni yendi ... güzel cevap. – digitaljoel