2009-07-03 99 views
-1

我喜歡JSF和Hibernate,但我有一個問題,以做出正確的決定:JSF Hibernate的決策支持

其實,我的POJO的客戶,房子,問題和兒子。 和業務代表RentManager。並且這些計劃可以幫助客戶報告他/她的房子可能存在的一個或多個問題。

我想獲得所有客戶,房屋和問題。 RentManager是否可以通過POJO查詢數據庫並離開POJO而不收藏?如果是這樣,所有實用程序方法將僅在RentManager中實現?還是我必須在POJO中進行重複? (幹?)

這是節目的片段,我希望得到幫助約

class Client{ 
    //setters/getters/ constructor are here. 
    //I have also client.hbm.xml and works fine 
} 
class Problem{ 
    //properties/setters/getters/ constructor 
} 

class House{ 
    //properties/setters/getters/ constructor 
} 

class RentManager{ 
    //List and ArrayList for houses, and problems, 
    //and clients + setters/getters/DataModel for these collections 

    // addProblem(), updateProblem(), .. 
    // addClient(), updateClient(), ... 
    // addHouse(), updateHouse(), ... 
} 

與內涵在我的控制器使用RentManager,而不是直接從控制器訪問的POJO。 這是正確的方法嗎?或者你們有什麼建議?謝謝你的幫助。

+0

我無法弄清楚你在這部分提出的問題:RentManager可以通過POJO查詢數據庫並且不需要集合就可以離開POJO嗎?如果是這樣,所有實用程序方法將僅在RentManager中實現? – 2009-07-03 16:22:28

回答

0

您不應該在您的RentManager類中存儲POJO(也不是POJO列表)。 相反,從數據庫獲取實體的方法應返回POJO或POJO的集合。 然後,您可以更新您的RentManager中分離的類的數據模型。 保存,更新或刪除實體的方法應該被賦予POJO作爲參數。例如:List getAllclients(),void save(客戶端客戶端),...

另一種設計是將服務方法(保存,讀取,...)放到您的POJO中。這就是所謂的域驅動設計,但有了這樣的設計,您不再需要RentManager。