Я збирав інформацію про метод flush (), але мені не зовсім зрозуміло, коли ним користуватися та як правильно ним користуватися. З того, що я прочитав, моє розуміння полягає в тому, що вміст постійного контексту буде синхронізовано з базою даних, тобто видавати видатні заяви або оновити дані сутності.
Тепер я отримав наступний сценарій з двома сутностями Aта B(у взаємовідносинах один на один, але не застосовується та моделюється JPA). Aмає складений ПК, який встановлюється вручну, а також має автоматично створене поле ІДЕНТИЧНОСТІ recordId. Це recordIdмає бути записане суб'єктом господарювання Bяк зовнішній ключ A. Я заощаджую Aі Bоднією транзакцією. Проблема полягає в тому, що автоматично сгенерированное значення A.recordIdне доступно в угоді, якщо не зробити явний виклик em.flush()після виклику em.persist()на A. (Якщо у мене є автоматично сформований ПК IDENTITY PK, то значення безпосередньо оновляється в об'єкті, але це не так.)
Чи може em.flush()заподіяти шкоду при використанні її в рамках транзакції?