歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Hibernate 更新部分字段的實現

在Hibernate 中,有時我們只需要更新部分字段,此時如果使用update()方法,會將所有字段都更新,對於沒有set的字段,就會設置成NULL,如果這些字段裡面有非空的字段就會報錯。

解決的方法可以直接寫HQL語句,但是如果字段較多,並且更新的字段是不確定的時候,直接寫HQL語句就顯得比較麻煩。

另一種方法是在XML文件中設置dynamic-update="true",這樣設置以後,只對set了的字段更新,沒有set的字段就不會更新。

<class name="com.hzhi.entity.Person" table="person" dynamic-update="true">

還有一種有效的方法就是先根據需要更新的記錄主鍵,找出這條記錄,根據提交的參數set相應的字段,然後再update()。

// 根據用戶提交的ID找出person2
int id = person.getId();
Person person2 = xkmpService.findById(id);
// 設置需要更新的字段的值到person2
person2.setAge(person.getAge());
// 更新person2
xkmpService.updatePerson(person2);

Hibernate3.1.2_中文文檔PDF  http://www.linuxidc.com/Linux/2016-02/128462.htm

Hibernate學習入門教程  http://www.linuxidc.com/Linux/2015-08/121498.htm

在Hibernate中開啟日志 http://www.linuxidc.com/Linux/2015-07/120499.htm

Hibernate+JUnit測試實體類生成數據庫表  http://www.linuxidc.com/Linux/2015-07/120161.htm

Hibernate整體理解 http://www.linuxidc.com/Linux/2014-07/104405.htm

Hibernate的映射機制  http://www.linuxidc.com/Linux/2014-12/110265.htm

Hibernate 的詳細介紹:請點這裡
Hibernate 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved