JPA Hibernate Найти по идентификатору и версии - PullRequest
1 голос
/ 23 мая 2011

Метод поиска в JPA принимает только первичный ключ, есть ли способ включить свойство Version для поиска объекта.

1 Ответ

2 голосов
/ 23 мая 2011

Почему вы хотите использовать свойство version, чтобы найти сущность? Если вы используете поле суррогатного первичного ключа (в соответствии с рекомендациями Hibernate), вы сможете идентифицировать строку только по идентификатору.

Поле Version используется hibernate, чтобы гарантировать, что загруженный объект не изменяется между загрузкой и сохранением.

Если вы действительно хотите использовать идентификатор и версию, вам потребуется запрос:

    Query query = session.createQuery("select from MyTable where id = ? and version =?");
    query.setParameter(0, myId);
    query.setParameter(1, myVersion);
    query.uniqueResult();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...