簡體   English   中英

Hibernate應該只更新數據庫中的某些字段

[英]Hibernate should update only certain fields in the database

我有一個數據庫觸發器,它在插入數據時執行。 從應用程序端,我使用休眠模式更新數據庫TRIGGER更新的同一表。 當我從應用程序端更新數據時,由Trigger更新的數據被較舊的數據覆蓋。我發現休眠中的緩存值與數據庫中的值不同步。 有解決這個問題的適當方法嗎? 我正在談論的緩存是一級緩存。

編輯-Hibernate應該更新數據庫中的某些字段,而數據庫中的其他字段應由TRIGGER更新。 這可能嗎?

您可以使用刷新:

session.merge(entity);
session.flush();
//the trigger has been called
session.refresh(entity); 
//the entity will reflect the trigger changes

我的問題確實是問題編輯中提到的內容。 正如Vlad在評論中提到的,該問題的簡單解決方案。 將列標記為@Column(name =“ dob”,insertable = false,可更新= false)。 如果休眠更新表,這有助於避免任何重大意外。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM