TableA является родителем TableB, и они имеют отношение один ко многим. FK в таблице B - это TableA_Id.
Соответствующие классы сущностей A и B.
В классе сущности А у меня есть следующий код:
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name=”TableA_Id”,nullable=false)
List<B> bs = new ArrayList<>();
В моем основном методе я создаю экземпляр A и два экземпляра B, которые затем добавляю в ArrayList в A и затем выполняю session.save
A.
В сгенерированных запросах я вижу три оператора вставки и два оператора обновления - операторы обновления кажутся избыточными. Когда я смотрю на переменные хоста (параметры) в журнале, те же значения для TableA_Id, которые были указаны в 2 вставках для вставок таблицы B, повторяются в операторах Update.
Есть мысли о том, почему существует такое поведение?