2009-07-03 11 views
-1

私はJSFを好きで、休止状態が、私は右の決定をするために問題を抱えている:JSF Hibernateの意思決定支援

実際に、私は上のクライアント、ハウス、問題と息子のためにPOJOを持っています。 とビジネスデリゲートRentManager。これらのプログラムは、顧客が自宅にいるかもしれない1つ以上の問題を報告するのにクライアントを助けるかもしれない。

私はすべてのクライアント、住宅、および問題を取りたいと思っています。 RentManagerはPOJOを介してデータベースにクエリを行い、POJOをコレクションなしで残すことはできますか?その場合、すべてのユーティリティメソッドはRentManagerでのみ実装されますか?またはPOJOで複製を行う必要がありますか? (DRY?)

これはプログラムの断片である、私はコントローラから直接POJOをアクセスするのではなく、私のコントローラでRentManagerを使用する意図を有する約

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(), ... 
} 

助け取得したいです。 これは正しいアプローチですか?または皆さんに提案がありますか?ご協力いただきありがとうございます。

+0

私はこの部分で何を求めているのか分かりません:RentManagerはPOJOを介してデータベースにクエリを行い、コレクションなしでPOJOを残すことはできますか?その場合、すべてのユーティリティメソッドはRentManagerでのみ実装されますか? –

+0

データベースからデータを取得するには、DAOを使用し、コレクション[ArrayList、DataModel、...]にデータを格納します。だから私の質問は、私はRentManagerにその機能を実装し、コレクションなしでPOJOを残してもいいですか?またはこれらのコレクションをPOJOとRentManagerの両方に含める必要がありますか?次の質問です:私はRentManagerとPOJOの両方でユーティリティメソッドを実装する必要がありますか? 例: クラスハウス{ /settere /ゲッター/ addHouse(ハウスハウス){ ... }; } クラスRentManager { リスト houses = ...; addHouse(House house){...} //?DRY? } 少なくとも50%は明らかです。ありがとうございます –

+0

できるかどうかわからないことをしたいと思っているものの疑似コードを追加してください。 – Drew

答えて

0

あなたのRentManagerクラスにPOJO(POJO 'のリストも)を保存しないでください。 代わりに、データベースからエンティティを取得するメソッドは、POJOまたはPOJOのコレクションを返す必要があります。 次に、あなたのRentManagerからクラス分けされたデータモデルを更新することができます。 エンティティを保存、更新、または削除するメソッドには、パラメータとしてPOJOを指定する必要があります。 例:List getAllclients()、void save(クライアントクライアント)...

別の設計では、サービスメソッド(保存、読み込み、...)をPOJOに配置することです。これはドメイン駆動設計と呼ばれていますが、このような設計ではRentManagerはもう必要ありません。

関連する問題