Class A has list of C objects.
class A{
@Id
private Long Id;
@Column(name = "name_a", length = 5)
private Strin name_a;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "a", fetch = FetchType.LAZY)
private List<C> cList;
}
class B{
@Id
private Long Id;
@Column(name = "name_b", length = 5)
private String name_b;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "b", fetch = FetchType.LAZY)
private List<C> cList;
}
This is join table.Class C has A object and B object.
class C{
@Id
private Long id;
@JoinColumn(name = "id_a", referencedColumnName = "id", nullable = false)
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private A a;
@JoinColumn(name = "id_b", referencedColumnName = "id", nullable = false)
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private B b;
}