我們的設計有一個jvm,它是一個jboss/webapp(讀/寫),用於通過休眠(使用jpa)來維護數據到數據庫。該模型具有10-15個持久類,關係中有3-5個深度級別。如何維護運行兩個Java應用程序的Hibernate緩存一致性?
然後,我們有一個單獨的jvm,即使用此數據的服務器。當它連續運行時,我們只有一個長數據庫會話(只讀)。
目前沒有涉及到jvm內部的緩存 - 所以我們手動向另一個jvm發送信號。
現在,當web應用程序改變一些數據時,它會通知服務器重新加載更改的數據。我們發現,我們需要告訴休眠來清除數據,然後重新加載它。只是在數據庫中執行讀取/合併操作並不能完成這項工作 - 主要是關於層次結構下幾層的對象。
任何關於這個設計是否存在根本性錯誤的想法,或者是否有人這樣做,並且在重新加載時使用hibernate獲得更好的運氣。
謝謝, 克里斯
使用JPA和@PersistenceContext獲取EntityManager的 - 但似乎我們需要@PersistenceUnit一個EntityManagerFactory接口和刷新數據,我們得到了一個新的EntityManager。聽起來很不錯 - 但是如果人們更新的東西很多,但是如果那是人們做的事情...... – 2008-09-10 13:50:27