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