1. 程式人生 > >使用hibernateTemplate模板執行只更新一個欄位的操作

使用hibernateTemplate模板執行只更新一個欄位的操作

之前做課程設計一直都用這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語句會更實在點。可塑性更好。

小白一個,若有不對,望指教。