JPA存储配置与实体扫描之间的关系



我定义了以下存储库:

public interface ProductRepository extends JpaRepository<Product, Long>

其中Product类是一个实体(用@entity注释)。为什么我的项目中还需要@EntityScan注释来扫描实体?如果我不使用此注释,ProductRepository是否不会将产品识别为实体?

实体并不是单独存在的。它们作为一个整体生活,并形成一个相互连接的实体图。

JPA提供程序必须在启动时知道所有实体,以提取所有所需的元数据,检查是否存在所有依赖项(即,如果A与B有关联,但没有找到B,则存在问题),验证命名查询,等等。这意味着,要创建EntityManagerFactory,需要提供应用程序将使用的所有实体。EntityScan用于在类路径中查找它们。

最新更新