Hibernate批改对象时有没有办法不逐个字段更新
Hibernate修改对象时有没有办法不逐个字段更新?
我们使用Hibernate修改一对象时,会先load这个对象,然后在对这个对象的一些字段赋值,最后再saveOrupdate这个对象.但这显然是不太合理的,假设我一个对象有100个属性或更多,假设我要更新其中66个属性,而其他属性不变化,按照前面的方法写出来,代码就丑死了!有没有办法实现这样的功能,就是让Hibernate直接saveOrupdate这个对象(与页面上的表单对应的Pojo),把这个临时对象和其对应的数据库里的持久化对象比较,如果某个属性值发生了变化,则修改之;而没有发生变化的,则继续保留其数据库的值.
我们使用Hibernate修改一对象时,会先load这个对象,然后在对这个对象的一些字段赋值,最后再saveOrupdate这个对象.但这显然是不太合理的,假设我一个对象有100个属性或更多,假设我要更新其中66个属性,而其他属性不变化,按照前面的方法写出来,代码就丑死了!有没有办法实现这样的功能,就是让Hibernate直接saveOrupdate这个对象(与页面上的表单对应的Pojo),把这个临时对象和其对应的数据库里的持久化对象比较,如果某个属性值发生了变化,则修改之;而没有发生变化的,则继续保留其数据库的值.
1 楼
DavyLee
2007-08-18
<p>大哥,我不知道你们看明白没有!</p>
<p>不要以为那么肤浅,这个问题很麻烦!</p>
<p>我说的是直接修改一个对象,而不去碰他的属性!</p>
<p>不要以为那么肤浅,这个问题很麻烦!</p>
<p>我说的是直接修改一个对象,而不去碰他的属性!</p>
2 楼
DavyLee
2007-08-18
<p>这么复杂的问题被放到入门讨论里,真汗啊!</p>
<p>唉,自己语言表达能力太差了!</p>
<p>唉,自己语言表达能力太差了!</p>
3 楼
罗致克
2008-01-22
我也遇到了这个疑惑 为什么不能局部更新呢?
4 楼
抛出异常的爱
2008-01-22
apach.command里面有个beanutil东西.可以拷贝很多参数.
PS:你认为从页面传66个参数不丑么?
PS:你认为从页面传66个参数不丑么?