ソフトウェアアーキテクチャの観点からこの問題を設計する良い方法を見つけようとしています。カスタムハイバネートクエリをデザインするにはどうすればいいですか
私はORMとしてhibernateを使用しています。簡単にするために、私はidとnameというメンバを持つデスティネーションクラスを持っています。
私はhibernateセッションを使用して、宛先エンティティをデータベースに保存/書き込むことができます。しかし、私は別の目的地を読んで/検索する必要があるとき、私はどのようにこれを整理するか分からない。
2つの使用例:
- 先GetDestination(文字列名)。 //正確な名前を検索し、存在する場合は1つの宛先を生成します。query1
- Destination [] GetDestinations(string pattern); //一致するパターンの送り先を生成する:query2
私はsession.createQuery( "query goes here")を使用してデータベースから結果を取得します。
オプションA:
- 私は、引数としてセッションを取る先でこれらのメソッドを作成することができます。しかし、これはデスティネーションを悩ますだろうし、私はそれを分離しておくだろう。
オプションB:
- DestinationManager:この先とのセッション "持っています"。このクラスでこれらのメソッドを定義し、Destinationを汚染しないようにします。
このような状況に対処するには、どのような方法が推奨されますか?