2

主に Spring Framework でアプリケーションを構築した経験があります。JEE6 スペースに (データ アクセス層をサポートするための) Spring Data API に似たものがあるかどうか疑問に思っていましたか?

次のようなエンティティマネージャーを配線できることはわかっています。

@PersistenceContext 
EntityManager em;

理想的には、Data Access Bean に大量のボイラー プレート JPA コードを記述することは避けたいと考えています。これは、findAll()、findByX() などのボイラープレート コードの量を削減するのに役立つ SpringJPA に似た API です。たとえば、 SpringJPA Bean を次のように定義できます。

@Repository
public interface FooRepository 
    extends JpaRepository<Foo, String>
{

}

バニラJEE6では、私は

  • メソッドを含む FooRepository インターフェースFoo findOne(Long)List<Foo> findAll()
  • インターフェースを実装し、EntityManager と対話する FooRepositoryImpl
4

1 に答える 1

1

@InjectSpring Data JPA には、CDI マネージド Beanへの単純なリポジトリへの CDI 拡張機能が付属しています。詳細については、リファレンス ドキュメントを参照してください。このアプローチでは、クラスパスに Spring JAR が必要ですが、ブートストラップされるコンテナーは必要ありません。この機能は、MongoDB リポジトリでも利用できます。

于 2013-05-10T13:08:45.097 に答える