У меня есть отношение типа @ManyToMany
с ассоциацией @JoinTable
.Hibernate manytomany @JoinTable + @SecondaryTable дублирующиеся записи
Дело в том, что сущность в отношении имеет свою собственную таблицу, но пара свойств должна перейти в таблицу ассоциаций.
A_C
таблица в порядке думаю.
Добавление дубликата @SecondaryTable
.
@Entity
@Table(name = "A")
@SecondaryTable(name = "A_C", pkJoinColumns = {
@PrimaryKeyJoinColumn(columnDefinition = "A_ID", name = "A_ID")})
class A {
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "A_B", joinColumns = {@JoinColumn(name = "A_ID")}, inverseJoinColumns = {@JoinColumn(name = "B_ID")})
private List<B> bs = new ArrayList<B>();
@Column(table = "A_B")
private int b1;
}
@Entity
@Table(name = "B")
@SecondaryTable(name = "A_B", pkJoinColumns = {
@PrimaryKeyJoinColumn(columnDefinition = "B_ID", name = "B_ID")})
class B {
@Column(table = "A_B")
private int a1;
@Column(table = "A_B")
private int a2;
@ManyToMany(mappedBy = "A_ID", fetch = FetchType.LAZY)
private List<A> as = new ArrayList<A>();
}
Это при сохранении A
Примитивов, B
дублируются в пути, где:
A_ID B_ID a1 a2
1 0 1 1
1 1 0 0
Где должен быть
A_ID B_ID a1 a2
1 1 1 1
@Embeddable
С не будет работать ни один.
ssedano.