2012-02-20 2 views
1

リバースエンジニアリングを使用して、すべてのDAOおよびハイバネートプロパティファイルを生成するためにHibernateを使用できます。 しかし、それが生成するDAOコードは、スプリング依存性注入の観点からは適切ではありません。バネを使用した休止状態でのリバースエンジニアリング

したがって、依存性注入の原理に基づいてSpring Beanを生成するために、Hibernateのリバースエンジニアリング技術をどのように使用できますか?

+0

DAOまたはエンティティを作成することを意味しますか? – Ralph

+0

はい、DAOを作成しています。基本的に、私たちが休止状態を使用してDAOを作成すると、すべてのDAOに "SessionFactory"オブジェクトが作成されます。 Springと一緒に使用する場合、Spring依存性注入に従って、すべてのDAOに「SessionFactory」のオブジェクトを(注入する代わりに)注入します。 –

答えて

2

エンティティクラスを指定するサブクラスを作成する必要がある汎用DAOを使用する必要があります。またはSpring Data JPAまたはその前身Hadesのようなより現代的なアプローチ。その後、空のクラス(またはSpring Data JPA/Hadesの場合は空のインターフェース)より多くのことに注意するコンクリートDAO。

したがって、DAOのジェネレータアプローチの検索や追加に時間をかける価値はありません。

Generic DAOのサンプルを検索する時間はあまりないので、これは私が見つけた最高のものです: http://www.codeproject.com/Articles/251166/The-Generic-DAO-pattern-in-Java-with-Spring-3-and少なくとも1つの「間違い」があります。具体的なDAOには、@Repositoryの注釈が必要ですが、@Componentではありません。 - とにかく、この例は私がジェネリックDAOを意味するものを示しています。

+0

私はあなたの考えを持っています。それのためのThanx。可能であれば、正確に何を意味するかを示す小さなコードスニペットを私に提供することができます。それは私により良い理解を与えるだろう。 あなたの助けを捧げてください:) –

+1

@Rohit Jain:あなたは3つのリンクに気付きましたか? – Ralph

+0

はい私はそれらを見ています。あなたの助けを捧げてください。そのため、Hibernateに依存するのではなく、独自のDAOを書く方が良いです。そして、それを行うための非常に良い方法は、上記のGeneric-DAOパターンを使用することです。私は正しいですか? –