Java Hibernate可以更新单个属性吗?

Java Hibernate可以更新单个属性吗?,java,hibernate,Java,Hibernate,我有一个具有多个属性的hibernate类,我听说NHibernate跟踪文件中的属性,只更新那些已更改的属性。Hibernate中有类似的功能吗 我试图让它只使用一个简单的类加载-然后设置一个属性-然后刷新更改。但是,这将毫无疑问地更新类中的所有属性 您需要通过注释或在类映射中将动态更新属性设置为true,这将排除Hibernate SQL update语句中未修改的属性。你可以找到一个好的推荐人。默认情况下,动态更新设置为false,以便向后兼容,因为它引入了一些新功能。您可以先从数据库获取

我有一个具有多个属性的hibernate类,我听说NHibernate跟踪文件中的属性,只更新那些已更改的属性。Hibernate中有类似的功能吗


我试图让它只使用一个简单的类加载-然后设置一个属性-然后刷新更改。但是,这将毫无疑问地更新类中的所有属性

您需要通过注释或在类映射中将动态更新属性设置为true,这将排除Hibernate SQL update语句中未修改的属性。你可以找到一个好的推荐人。默认情况下,动态更新设置为false,以便向后兼容,因为它引入了一些新功能。

您可以先从数据库获取实体,然后再更新。。。试试这个例子

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);

}

您可以在实体级别使用@DynamicUpdate注释,如图所示。

它还否定了数据库所做的大量缓存。所以,如果你没有巨大的属性,它就无法扩展,这正是我所需要的。