Hibernate 更新部分字段的达成
发布时间:2021-12-10 15:47:33 所属栏目:教程 来源:互联网
导读:在Hibernate 中,有时我们只需要更新部分字段,此时如果使用update()方法,会将所有字段都更新,对于没有set的字段,就会设置成NULL,如果这些字段里面有非空的字段就会报错。 解决的方法可以直接写HQL语句,但是如果字段较多,并且更新的字段是不确定的时候
|
在Hibernate 中,有时我们只需要更新部分字段,此时如果使用update()方法,会将所有字段都更新,对于没有set的字段,就会设置成NULL,如果这些字段里面有非空的字段就会报错。 解决的方法可以直接写HQL语句,但是如果字段较多,并且更新的字段是不确定的时候,直接写HQL语句就显得比较麻烦。 另一种方法是在XML文件中设置dynamic-update="true",这样设置以后,只对set了的字段更新,没有set的字段就不会更新。 <class name="com.hzhi.entity.Person" table="person" dynamic-update="true"> 还有一种有效的方法就是先根据需要更新的记录主键,找出这条记录,根据提交的参数set相应的字段,然后再update()。 // 根据用户提交的ID找出person2 int id = person.getId(); Person person2 = xkmpService.findById(id); // 设置需要更新的字段的值到person2 person2.setAge(person.getAge()); // 更新person2 xkmpService.updatePerson(person2); ![]() (编辑:开发网_开封站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



浙公网安备 33038102330459号