Спящий упорный порядок - PullRequest
4 голосов
/ 18 марта 2010

У меня есть вопрос о том, как Hibernate сохраняет отношения сущностей. Допустим, у меня есть сущность A, которая имеет отношение с сущностью B, а другая - с сущностью C. Я создаю экземпляр A и заполняю его новыми экземплярами B и C. Когда я сохраняю A, мне нужно сохранить C до сохранения B. Есть ли способ сделать это?

1 Ответ

1 голос
/ 21 марта 2010

Нет, вы не можете контролировать заказ.

Единственное, что вы можете сделать, это вызвать сброс в сеансе после того, как вы установили отношение A-C, а затем создать отношение A-B. Сброс заставит hibernate выдвинуть новые данные в базу данных, но не будет зафиксировать транзакцию.

После сброса данные могут или не могут быть видны другим транзакциям в зависимости от конфигурации базы данных (например, в mysql существует 4 режима транзакций: http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...