hibernate如何更新pojo中的部分字段,而不是所有的字段 最简单的办法就是 set xxx=xxx 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 正如楼上所说,部分obj.setXXX();ok update = false配置一下就可以了 今天偶然看到 robbin 对于这个问题的回答,你可以借鉴一下。原贴地址http://www.jdon.com/jivejdon/thread/8571.html看这个link:http://www.jdon.com/jive/thread.jsp?forum=62&thread=8457引用------------------------------------------------------------update语句是在Hibernate的Configuration的时候生成的,不能动态改变为什么update的时候所有的属性都一起update,而不是只更新改变字段,其实这是一个比较值得探讨的问题。如果想要做到只更新改变了的字段,必须做到两点:1、对PO的每个属性设置version进行状态跟踪2、update语句是动态生成的,在实际向数据库更新的时候,依次检查每个属性的version,决定哪些属性需要更新,动态构造update语句。单单要做到上述第一点,就势必要给PO的操作带来沉重的负担,每次属性的存取都要判断version,严重影响PO的性能。会带来整个Hibernate性能的降低。而要做到第二点,临时构造update语句时间消耗很客观,也会极大降低update的速度。Hibernate的PO状态管理是当任何属性值改变的时候,version就被标记,表明PO被更新了。实现很简单而有效,效率非常高。而update语句insert,delete和某几个select语句是在Hibernate初始化过程中就构造好了,不需要用的时候临时构造。综合评价得与失,对PO属性进行状态管理固然可以稍微降低数据库负担,但是会极大影响Hibernate的运行效率,终究得不偿失。 先取出bo对象,然后xbo.setXXX(YYY)好了,saveorupdate()会自动只更新值变换过的字段。 写需求规格说明书的一个疑惑 Hibernate二级缓存不起作用,请高手帮忙 用java如何获取对MS Server2005刚刚插入数据的ID值? Spring主要应学习什么内容 ldap中如何认证工作站?userWorkstations 现在JAVA主要用在那些领域呀?? 关于RMI的问题! 急~~怎么调用java的webservice?? 大家帮我看看操作数据源的BEAN,错误在那里,先行谢谢了 请问如何用J2EE里的类??????????? 惊天一问。JSF。一个页中有很多文本框,数据库输出的,我修改了一个文本框 怎么将他的值重新获得?具体如下 请问EJB3.0是否可以动态映射表?
ok
配置一下就可以了
http://www.jdon.com/jive/thread.jsp?forum=62&thread=8457引用------------------------------------------------------------
update语句是在Hibernate的Configuration的时候生成的,不能动态改变为什么update的时候所有的属性都一起update,而不是只更新改变字段,其实这是一个比较值得探讨的问题。如果想要做到只更新改变了的字段,必须做到两点:
1、对PO的每个属性设置version进行状态跟踪
2、update语句是动态生成的,在实际向数据库更新的时候,依次检查每个属性的version,决定哪些属性需要更新,动态构造update语句。单单要做到上述第一点,就势必要给PO的操作带来沉重的负担,每次属性的存取都要判断version,严重影响PO的性能。会带来整个Hibernate性能的降低。而要做到第二点,临时构造update语句时间消耗很客观,也会极大降低update的速度。Hibernate的PO状态管理是当任何属性值改变的时候,version就被标记,表明PO被更新了。实现很简单而有效,效率非常高。而update语句insert,delete和某几个select语句是在Hibernate初始化过程中就构造好了,不需要用的时候临时构造。综合评价得与失,对PO属性进行状态管理固然可以稍微降低数据库负担,但是会极大影响Hibernate的运行效率,终究得不偿失。