@Version Проблема с JPA/спящим режимом

У меня возникает проблема, когда я использую @Version с JPA (Hibernate). Когда я объединяю свой объект для существующей записи, он не запускает оператор обновления, а вместо этого всегда запускает оператор вставки.

Если я удалю @Version из своего объекта, он будет работать, как и ожидалось. Нужно ли мне делать какие-либо специальные настройки для использования @Version?

Некоторые зависимости в моем POM приведены ниже.

        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.1-api</artifactId>
            <version>1.0.0.Draft-16</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.2.15.Final</version>
        </dependency>

person Dave    schedule 02.11.2014    source источник
comment
Вероятно, это потому, что вы пытаетесь объединить объект с версией null/0. Он должен иметь ту же версию, что и соответствующая строка. В этом-то и дело.   -  person JB Nizet    schedule 03.11.2014
comment
Можете ли вы добавить свою сущность и как ее объединить?   -  person Xstian    schedule 03.11.2014


Ответы (1)


Проблема решилась. Как сказал Дж. Б. Низе, я вставлял ноль в качестве исходного значения версии вместо 1.

person Dave    schedule 03.11.2014