Поведение JPA-Hibernate, когда ленивый потомок удаляется другой транзакцией - PullRequest
0 голосов
/ 08 октября 2018

Допустим, у меня есть родительский класс с отношением один к одному с Lazy Child.Допустим, запущены две транзакции (опрашивающие одного и того же родителя-ребенка): одна просто обновляет или, возможно, получает все целиком, а другая удаляет дочернюю.Если удаление фиксируется первым, будет ли вызов getChild () более поздней транзакцией возвращать ноль?Так как он больше не может запрашивать ребенка?

1 Ответ

0 голосов
/ 08 октября 2018

Да!он вернет ноль.Если отношение помечено как LAZY, то дочерняя запись не будет загружена, пока вы не вызовете ее метод получения.а затем hibernate выполнит запрос для загрузки его из базы данных.поэтому, если транзакция удаляет дочернюю запись, другая будет иметь нулевое значение.

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