在Hibernate 中,有时我们只需要更新部分字段,此时如果使用update()方法,会将所有字段都更新,对于没有set的字段,就会设置成NULL,如果这些字段里面有非空的字段就会报错。
解决的方法可以直接写HQL语句,但是如果字段较多,并且更新的字段是不确定的时候,直接写HQL语句就显得比较麻烦。
一种有效的方法就是先根据需要更新的记录主键,找出这条记录查,根据提交的参数set相应的字段,然后再update()。
// 根据用户提交的ID找出person2int id = person.getId();Person person2 = xkmpService.findById(id);// 设置需要更新的字段的值到person2person2.setAge(30);// 更新person2xkmpService.updatePerson(person2);
原标题:Hibernate 更新部分字段的实现
关键词:Hibernate