Как можно ли запретить Hibernate обновлять значения NULL

Есть ли параметр в спящем режиме, чтобы игнорировать нулевые значения свойств при сохранении объекта спящего режима?

ПРИМЕЧАНИЕ
В моем случае я десериализую JSON в Hibernate Pojo через Джексона.

JSON содержит только некоторые поля Pojo. Если я сохраню Pojo, поля, которых не было в JSON, будут нулевыми в Pojo и спящий режим ОБНОВЛЯЕТ их.

Я наткнулся на параметр updateable = false , но это не 100% решение. http://docs.jboss.org/hibernate/stable/ annotations / reference / en / html_single / # entity-mapping-property

Может у кого-то есть другая идея ...

ПРИМЕЧАНИЕ 2:

Согласно документам Hibernate, аннотация dynamicUpdate делает именно то, что

dynamicInsert / dynamicUpdate (по умолчанию false):
указывает что INSERT / UPDATE SQL должен создаваться во время выполнения и содержать только столбцы , значения которых не равны нулю .

http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#mapping-declaration-class

Достаточно забавно, если вы определяете его в XML через dynamic- update в документе не упоминается обработка значений NULL.

dynamic-update (необязательно - по умолчанию false):
указывает, что UPDATE SQL должен> генерироваться во время выполнения и может содержать только те столбцы, значения которых изменились.

Из-за того, что я использую обе аннотации И xml-конфигурацию, спящий режим, похоже, игнорирует мою аннотацию dynamicUpdate = true .

18
задан Jeremy S. 23 September 2011 в 06:33
поделиться