2013-05-14 36 views
0

我一直在開發一個使用JSF & PrimeFaces的網站。在開發時,我發現任何Web應用程序都有兩個瓶頸。如我錯了請糾正我。如何更有效地實現Web應用程序?

的瓶頸是:

  1. 我使用Hibernate框架對持久層。現在,如果在數據庫中發生更改 ,則無法反映在範圍爲 的bean中。 Hibernate具有動態更新屬性,這有助於僅更新 表[受保持時]的受影響記錄。但我還沒有找到類似的 類型的機制,我總是可以得到更新的DAO。在這裏, 開發人員必須負責通過使用 session.refresh()方法更新它們,它只是從數據庫表中重新加載整個對象 樹。因此,對於每個小型數據庫更改,I 認爲DAO [在Hibernate]中的緩存功能在每次從會話緩存中清除後都會錯過 。總之,數據庫更新不會觸發DAO更新。

  2. 更新DAO,如果我想反映在視圖級別更改後,然後我不得不採取Primeface插座[PrimePush]的幫助,因爲刷新頁面每次都得不到良好的執行& primeface插座允許的更新具體的ID。所以,這意味着對於每個DAO領域,我需要藉助許多不同的Primeface套接字,每個套接字都有獨特的通道。還要將消息發送到這些不同的套接字必須由開發人員在bean代碼中完成。

所以,問題是如何以有效的方式處理這些問題?有沒有其他技術/框架可以解決這些問題,以便開發人員不必擔心?

回答

0

理想情況下,你shoule會做這樣的:

的Hibernate持久層(DAO具有執行CRUD操作)

其訪問您的DAO使用BackBean更新查看

視圖(Primefaces)管Bean。

你不需要PrimePush或其他東西。它應該通過您的視圖中的動作來刷新

+0

Hibernate不提供DAO自動更新功能。因此,爲了傳達像「嗨,我改變了。請更新您的相應頁面部分我渲染」 ,我認爲primepush是必需的。舉例來說,您可以在社交網站中更新帖子,並且您的朋友可以即時看到更新。 – 2013-05-15 05:01:44

相關問題