2016-11-19 46 views
0

我是hibernate.Started的新手,昨天自己探索。我被卡住了,想知道這是否可以用Hibernate來完成。在休眠狀態下更新多個表並確保數據一致性

可以說我有三個表表A(其中有列名稱,預算,招投標,狀態,日期),表B(ID,預算,投標)和表C(ID,狀態) 。我希望所有數據都保持一致,即每當表B中發生更新時(可以說預算中新值應反映在表A中)。表C中的更新也同樣適用。在hibernate中實現這個最好的方法是什麼?

+0

爲什麼你的表是不歸?爲什麼你在多個表中有相同的數據? – developer

+0

嘗試使表格正常化,它會照顧它。重複數據可能是一大痛苦。 –

+0

這是要求。我們要跟蹤狀態,預算,投標的變化 – user3681970

回答

0

首先,我不建議跨多個表的數據重複,這很難支持和維護。

但正如你說,它是你的主要需求,您需要使用JPA實體監聽(與Hibernate加在所有的ORM框架工程)postUpdate()postInsert()所以,每當有更新/插入到表B,然後創建&將多個對象(數據庫中的行)保留到表A中。

以下是從JPA規範中摘取的一點。供你參考。

分別在數據庫更新操作到 實體數據後發生PostUpdate回調。

你可以找到一個簡單的例子here

-1

您應該通過表B中的數據,這將反映在表的表數據的插入點火事件使用觸發

+0

用戶問如何使用hibernate來完成這項工作,進一步的錯誤的數據庫設計不應該通過提供解決方案等補丁來鼓勵。 – Ubercool