项目中使用SSH2框架,使用Hibernate时,经常遇到一些只需更新部分字段的情况,Hibernate更新时,是将数据先加载到Hibernate中,然后更新类的属性,然后再保存(持久化到数据库中),但是有时候,由于数据比较大,比如某条数据中包含着二进制数据,光从数据库中加载到Hibernate中中就需要好长时间,然后再修改,保存,特别浪费时间和资源,但是又不需要修改二进制数据,仅仅修改下一些varchar的字段。
可以采用这样的HQL语句:
这样,就可以只修改部分字段,而且不需要加载整条数据。
我自己这样做的,如果有更好的方法,欢迎拍砖。
可以采用这样的HQL语句:
String hql = "update TblName t set t.fldName = 'zhangsan' where t.fldId = ?";
这样,就可以只修改部分字段,而且不需要加载整条数据。
我自己这样做的,如果有更好的方法,欢迎拍砖。
在使用SSH2框架和Hibernate进行开发时,对于大型数据记录,仅更新部分字段而不加载整个对象可以提高效率。通过直接构建HQL语句实现这一目标。
1978

被折叠的 条评论
为什么被折叠?



