之前做課程設計一直都用這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語句會更實在點。可塑性更好。
小白一個,若有不對,望指教。