次のように、プロバイダーと呼ばれる休止状態のエンティティがあります。
@Entity
@Table
public class Provider {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
@Column
private String name;
@Column
private String type;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
タイプに基づいてさまざまなタイプのプロバイダーが含まれています。
- 学生プロバイダの場合 - タイプは st です
- コースプロバイダーの場合 - タイプは cp
ここでは、学生プロバイダーとコース プロバイダーの間に多対多の関係を作成する必要があります。そのために、次のように新しいエンティティを作成しました。
public class StudentToCourseProvider {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@ManyToOne
@JoinColumn(name = "student_id")
private Provider studentProvider;
@ManyToOne
@JoinColumn(name = "course_id")
private List<Provider> courseProvider;
public Provider getStudentProvider() {
return studentProvider;
}
public void setClinicalProvider(Provider studentProvider) {
this.studentProvider = studentProvider;
}
public Provider getCourseProvider() {
return courseProvider;
}
public void setCourseProvider(Provider courseProvider) {
this.courseProvider = courseProvider;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
ID(主キー)なしでStudentToCourseProviderエンティティを作成する必要があります。