近來學習到Hibernate中getHibernateTemplate()下的增刪改的內容,在剛開始編寫操作的時候,被一些問題糾結了自己許久,比如,我直接update一個新傳來的對象,它卻把庫中所有對象全部覆蓋了等等,最後在後續的學習中得到了總結,故在此寫下記錄,方便後人少走彎路,也方便自己日後查閱
1.如果你只想update或者delete一條記錄的話,要將實體對象的id主鍵設置成那條記錄的id,這樣才能保證刪除的是一條且指定的記錄。
比如我現在有一個叫GeneralRecipeDetail的實體類,裏面有id和其他字段,而現在我要update指定的一條記錄,你就可以把裏面的id設置成你要update的那條記錄的id,然後在更新整個實體對象,這樣就能保證不會更新錯,delete亦是同樣。
2.在增、刪、改前,建議先查一下記錄是否存在,然後再做相應的操作
比如,我現在要保存一條記錄,首先我可以先判斷這條記錄是否存在,若存在,我就直接更新(記得設置id的值),若不存在,我就直接保存,這樣操作會更富邏輯些,當然,這是在結合自己的業務邏輯下,依據各自的條件選擇的。
好啦,這次就寫到這裏先。
其實,Hibernate裏面封裝的這些增刪改查操作最終都是要轉化成sql語言去操作數據庫的,所以,花點時間去琢磨一下這裏面的原理,可以更有助於自己對Hibernate的理解。
以上純屬是個人見解,若寫的不好,請批評指正。