03
Май
2020

Как сохранить сущность в базу, если вложенные сущности уже есть в базе

База Mysql, использую spring + hibernate.

Есть новая сущность Order, в ней есть поля с Set<Master> и Client. При этом, что Master, что Client могут существовать в базе.

Получаю UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only При попытке записать в базу через entityManager.save() заказ с клиентом и мастерами, которые уже есть в базе.

Как записать Order и если какая-то из вложенных сущностей уже есть в базе, то просто её проигнорировать, а только записать создать связь с новым Order

Источник: https://ru.stackoverflow.com/questions/1119631/%D0%9A%D0%B0%D0%BA-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D1%82%D1%8C-%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%B2-%D0%B1%D0%B0%D0%B7%D1%83-%D0%B5%D1%81%D0%BB%D0%B8-%D0%B2%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D1%83%D0%B6%D0%B5-%D0%B5%D1%81%D1%82%D1%8C-%D0%B2-%D0%B1%D0%B0%D0%B7%D0%B5

Тебе может это понравится...

Добавить комментарий