Может ли Hibernate обновить одно свойство? - PullRequest
3 голосов
/ 27 февраля 2011

У меня есть спящий класс с несколькими свойствами, я слышал, что NHibernate отслеживает свойства в файлах и обновляет только те свойства, которые изменились. Есть ли подобная функциональность в Hibernate?

Я попытался заставить его работать, используя простую загрузку классов - затем установить одно свойство - затем сбросить изменения. Однако это в обязательном порядке обновляет все свойства в классе.

Ответы [ 3 ]

4 голосов
/ 27 февраля 2011

Необходимо установить для свойства динамического обновления значение true с помощью аннотации или в сопоставлении классов, что исключит неизмененные свойства в операторе обновления SQL Hibernate.Вы можете найти хорошую ссылку здесь .По умолчанию для динамического обновления задано значение false, чтобы обеспечить обратную совместимость, поскольку это несколько новая функция.

0 голосов
/ 14 июня 2018

Вы можете использовать аннотацию @ DynamicUpdate на уровне объекта, как показано здесь .

0 голосов
/ 01 июня 2017

Вы можете сначала получить Entity из db, затем обновить ... попробуйте этот пример ..

public final void updateEntity(EntityName entity){

  //get entity from db by id
  EntityName dbEntity = session.get(EntityName.class, item.getProductId());

   //set property
  dbEntity.setStatus(entity.getStatus());

  //and update
  session.update(dbEntity);

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