Создание запроса ОБНОВЛЕНИЕ ВОЗВРАТА в Hibernate - PullRequest
0 голосов
/ 12 марта 2012

В Oracle мы можем создать запрос на обновление, который будет возвращать обновленную запись, используя предложение RETURNING.

Существуют ли аналогичные функции в Hibernate?

1 Ответ

0 голосов
/ 13 марта 2012

Помимо сгенерированных базой данных значений, очевидно, нет необходимости в Hibernate для возврата обновленного экземпляра, поскольку объект, переданный Session.saveOrUpdate() , является обновленным экземпляром. Сгенерированные базой данных значения (последовательность, триггер, значения по умолчанию и т. Д.) Будут установлены после Session.saveOrUpdate, если они соответствующим образом аннотированы (или определены в файле отображения XML).

Для значений идентификаторов используйте аннотацию JPA @javax.persistence.GeneratedValue вместе с аннотацией JPA @javax.persistence.Id. Для простых свойств используйте собственную аннотацию Hibernate @org.hibernate.annotations.Generated (afaik нет в соответствии с аннотацией JPA).

Как сгенерированные значения идентификаторов извлекаются из Hibernate, зависит от стратегии генерации и / или диалекта базы данных. Для простых свойств Hibernate выполняет дополнительный оператор SELECT by id после INSERT или UPDATE.

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