次のエンティティがあるとします。
@Entity
@Table(name = "A")
public class A implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToMany
@JoinTable(name="A_B", joinColumns = @JoinColumn(name = "A_ID"),
inverseJoinColumns = @JoinColumn(name = "B_ID"))
private List<B> bList1;
@OneToMany
@JoinTable(name="A_B", joinColumns = @JoinColumn(name = "A_ID"),
inverseJoinColumns = @JoinColumn(name = "B_ID"))
private List<B> bList2;
// getters and setters
}
@Entity
@Table(name = "B")
public class B implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
//some other data
//getters and setters
}
@JoinTable 構造は次のようになります。
A_B (a_id, b_id, discriminator);
bList1 と bList2 が入力されることに基づいて、注釈を使用して識別子列を指定することは可能ですか?