Сессия без сохранения состояния внутри @Transactional

В настоящее время у меня проблема с выполнением транзакции внутри сеанса без сохранения состояния.

На уровне сервиса я определил транзакцию, используя @Transactional аннотация (которая требуется, потому что методы должны быть в одной транзакции). Внутри метода я создаю новую сущность Car, Тем не менее, я также должен создать в лежащих в основе методов пользовательские преобразования внутри сеанса без сохранения состояния (это сделано для производительности), как это

StatelessSession session = getSessionFactory().openStatelessSession();
Transaction transaction = session.beginTransaction()

// create and setup CarRequirements entity

transaction.commit;

Проблема в том, что сущность CarRequirements имеет внешний ключ к сущности Car, Поэтому, когда я пытаюсь зафиксировать основную транзакцию, возникает исключение, потому что, очевидно, Car объект еще не передан в базу данных.

Есть ли способ отложить принятие нижележащей транзакции или принудительное принятие Car юридическое лицо?

1 ответ

Либо вы определяете отношения между CarRequirements и Car (каскад), либо вы должны сначала сохранить Car, а затем сохранить CareRequirements.

Другие вопросы по тегам