как настроить hibernate, чтобы не обновлять @Version при каждом доступе к сущности - PullRequest
0 голосов
/ 16 марта 2011

У меня есть простой запрос, который возвращает сущность, и когда я смотрю на вывод SQL-кода hibernate, я вижу, что при выполнении этого запроса hibernate обновляет поле @Version (при каждом последовательном чтении поле @version обновляется). я не изменяю что-либо в сущности, которую я выбираю, и не передаю в качестве аргумента для сохранения или слияния. это фактически означает, что каждое чтение, которое я делаю, превращается в чтение + запись. я попытался установить режим блокировки как NONE (jpa 2) и READ (jpa 1) безрезультатно.

есть ли способ добиться этого? если да, есть ли способ каким-либо образом установить это поведение по умолчанию в persistence.xml?

я использую jpa2 в спящем режиме 3,6

1 Ответ

1 голос
/ 16 марта 2011

Существует открытая ошибка Hibernate , связанная с приращением версии в операциях чтения, которая происходит при следующих условиях:

  1. У сущности есть класс компонента или подклассы
  2. Компонент / подклассы должны использовать пользовательский тип пользователя
  3. Операция чтения покрыта транзакцией

Она помечена как критическая, поэтому, возможно, будет решена в ближайшем будущем.

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