之前做课程设计一直都用这hibernateTemplate模板,感觉的确很省代码,但是突然做到一个功能只更新一个字段。顿时有点懵逼,啥东西都试了,就是不行。百度了一下发现了一个方法,在这里分享一下。
思路是这样子的:先根据一个id去查询全部信息,然后在set单个字段进去直接更新
为啥这样可以实现呢,因为你更新的那个字段set进去直接更新肯定是更新成功的,但是其他的由于延迟加载,没有set新数据进去。所以就保持原样。
上代码:
public void updateChooseState(Integer userid, String chooseState) {
StuInfo sut = this.hibernateTemplate.get(StuInfo.class, userid);//根据id查询信息
sut.setChooseState(chooseState);//只set一个数据而已
this.hibernateTemplate.update(sut);//直接更新
}
最后感叹一下,模板好是好,但是有时候感觉sql语句会更实在点。可塑性更好。
小白一个,若有不对,望指教。