У меня есть два следующих класса:
@Entity
class A {
@Id
private aId;
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = "AB", joinColumns = @JoinColumn(name = "aId", referencedColumnName = "aId"), inverseJoinColumns = @JoinColumn(name = "bId", referencedColumnName = "bId"))
private Set<B> bSet;
}
@Entity
class B {
@Id
private bId;
}
Я загружаю полную структуру объекта из одной базы данных, а затем ввожу новую транзакцию во вторую базу данных, чтобы снова сохранить структуру. Однако таблица "AB" оставлена пустой. Это очень странно, поскольку «B» сохраняется, хотя я только настойчиво сохраняю «A». Я проверил, что A-объекты содержат непустые множества B, так что это не проблема.
Это оставляет меня с выводом, что Hibernate считает, что «AB» -таблица должна существовать, поскольку и «A», и «B» уже имеют свои первичные ключи. Есть ли способ обойти это, чтобы я мог заставить Hibernate сохранить таблицу соединений во второй базе данных?