2014-02-17 32 views
1

我正在用hibernate開發一個Jersey應用程序,但我不知道正確的方式來使用這些tecnologies而不會弄亂一些代碼。什麼是使用Jersey與hibernate DAO的正確方法?

我剛剛創建了一個類,我稱之爲DataProvider。它是一個抽象類,獲得通用POJO並執行類似於savelistupdatedeletelistAll的操作。然後,我爲每個擴展DataProvider的表創建了DAO類。這些DAO在JSONService類中調用,該類爲Jersey API提供JSON服務。

任何人有什麼想法是正確的?

+1

這是一個最常用的設計方法。我想知道你在這種模式下遇到了什麼問題。 –

+1

好吧,我只是想確定這是一個通用的方法,因爲我得到一些凌亂的方法。 – Filipe

回答

4

不久,做到以下幾點:

  1. 創建和實現基本的數據庫對象至極包含ID。所有其他數據庫實體必須擴展BaseDbObject(JPA Ineritance)。這個解決方案可以讓你在所有的美麗和簡單中使用泛型。
  2. 使用基本對象及其層次結構(JPA和使用Hibernate實現的所有東西)爲CRUD操作創建數據訪問對象(DAO)。
  3. 創建一個服務,用業務流程的基本對象進行操作。它必須使用DAO來保持對象的狀態(EJB,Spring)。
  4. 爲REST API(JAX-RS,Jersey)創建端點並通過DI將其與服務連接。還支持您的實體的XML或JSON序列化。例如與傑克遜。

這樣做的好例子,你可以找到here。如果你想改進數據訪問層使用AppFuse的實現。

+3

這不回答OP的問題。 –

+0

@Maksim關於你的第一個項目符號,如果每個表對象需要使用不同的列名稱來註釋它的關鍵字,那麼如何創建該類? –

+0

@YonatanNir你在哪裏找到這個限制? – Maksim

相關問題