我有一個客戶表,其中有3列,即id,名稱和年齡。dynamicUpdate不工作在休眠
如果我創建了一個沒有年齡的客戶對象,即我沒有設置任何年齡值,那麼萬一如果表中存在同一個客戶(由客戶ID標識),則saveOrUpdate()會更新年齡列爲0.我希望避免年齡列值被零或空覆蓋,如果已經存在於表中根據下面粘貼的代碼片段,如果已經存在具有某個年齡值的客戶ID 10的行,則在這種情況下,我的年齡不應該被零覆蓋。
我在谷歌搜索,發現我可以設置dynamicUpdate爲真實現。但在執行的代碼仍然是我的年齡值由0覆蓋我粘貼代碼片段
@Entity
@Table(name = "CUSTOMER")
@org.hibernate.annotations.Entity(
dynamicUpdate = true
)
public class Customer {
@Id
@GeneratedValue
@Column(name = "CUSTOMER_ID")
private int custId;
@Column(name = "CUSTOMER_NAME")
private String custName;
@Column(name = "CUSTOMER_AGE")
private int custAge;
............
...........
Customer cust = new Customer();
cust.setCustId(10);
cust.setCustName("anand");
session.saveOrUpdate(cust);
tx.commit();
但它也覆蓋age的值爲null。我不希望年齡值在數據庫中已經存在的情況下被覆蓋。 – Anand
我改變了問題描述。我現在明確自己嗎? – Anand
更新了答案。 – dcernahoschi