2013-10-01 2 views
0

, мы знаем, что когда вы обновляете объект, выполняющий session.update (obj) в спящем режиме, он проверяет, изменился ли этот файл и решит ли его обновить или нет, дело в том, что Я хочу обновить еще один colum с именем UPDATED_AT (BD) или propertytie в моем объекте в случае, когда hibernate решает обновить этот объект.Обновление даты, когда hibernate решает ОБНОВИТЬ объект

Есть ли способ сделать это?

+0

Мы делаем это через триггер базы данных. Я не уверен, есть ли настройка в спящем режиме для этого или нет. Хотя, я был бы немного удивлен, если бы не было способа сделать это в спящем режиме. – hooknc

+0

Ищите документацию по перехватчикам. – Marcelo

+0

Я знаю, что это можно сделать с помощью триггера благодаря hooknc, но я искал способ сделать это с помощью спящего режима, поэтому плохо взгляните на перехватчики ... –

ответ

1

Для этого можно использовать interceptor.

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

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

+0

Это, кажется, полезно, я обновлю ответ, когда я заставляю его работать, спасибо :) –

+0

У меня вопрос, мой перехватчик не работает, когда я использую session.getCurrentSession(), обратите внимание, что я уже добавил этот перехватчик, когда я openSession –

+1

Пожалуйста, откройте новый вопрос с кодом, как вы установите перехватчик (и когда) и как вы получите сеанс, когда хотите его использовать. –

Смежные вопросы