私はSpringとHibernateにかなり慣れていません。私たちのチームでは、プレゼンテーション レイヤーに Struts 2 を使用し、その下に Spring 3 と Hibernate 3 (注釈付き) を使用して Web アプリケーションを構築しています。CRUD 操作にDAO を使用するかどうか、および を使用するか、または を使用するかについては、まだ議論Session
中です。EntityManager
どちらが優れているかという問題はさておき、 を使用して別の問題に遭遇しましたEntityManager
。
Service
私の目標は、保存、削除、ID による検索、およびクラスによるすべての検索の 4 つの基本操作を公開する抽象 (ジェネリック) を作成することです。他のサービスはこれを継承し、カスタムの検索または更新を実装するだけです (これは将来変更される可能性があります)。問題は、注釈付きの をどこに置くべきかわからないことですEntityManager
。私の、つまりPerson の親からAction
を継承する Bobからサービスで save() を呼び出すと、サービス パーソンが呼び出されておらず、注釈が解析されていないため、システムは の注入に失敗することを理解しています。save()
Service
EntityManager
@PersistenceContext
この問題を回避する方法はありますか? 簡単な操作に必要なコードの量を削減できるため、サービスに継承を使用したいと考えています。