2016-06-12 10 views
0

関係Iは以下のリポジトリに定義:商品クラスは(@Entityで注釈)エンティティであるJPAのリポジトリー構成およびエンティティスキャン

public interface ProductRepository extends JpaRepository<Product, Long> 

を。 なぜエンティティをスキャンするには、@EntityScanアノテーションがプロジェクトに必要ですか? この注釈を使用しない場合、ProductRepositoryは、製品をエンティティとして認識しませんか?

答えて

1

エンティティは単独で存在しません。彼らは全体として生きており、相互に関係する実体のグラフを形成しています。

JPAプロバイダは、すべての必要なメタデータを抽出するために起動時にすべてのエンティティを知っている必要があります(すべての依存関係が存在するかどうかを確認してください(つまり、AがBと関連していますがBが見つかりません。名前付きクエリなどを検証します。つまり、EntityManagerFactoryを作成するには、アプリケーションが使用するすべてのエンティティを提供する必要があります。 EntityScanは、クラスパスでそれらを見つけるために使用されます。

関連する問題