小编mar*_*dus的帖子

Spring Data JPA - 如何以编程方式设置JpaRepository基础包

在Spring Java Config类中定义EntityManager时,我可以通过调用相应构建器上的方法来添加基础包以扫描Entity类:

public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder) {
  // Some other configuration here
  builder.packages("org.foo.bar", "org.foo.baz");
  return builder.build();
}
Run Code Online (Sandbox Code Playgroud)

我需要一些类似于Spring寻找存储库接口的地方.通常的方法是使用@EnableJpaRepositories注释:

@EnableJpaRepositories(basePackages = {"org.foo.barbaz"})
Run Code Online (Sandbox Code Playgroud)

但我希望有一种动态的方式来定义这些包,类似于上面的Entity位置.像这样的东西:

public SomeJpaRepositoryFactoryBean entityManagerFactory(JpaRepositoryFactoryBuilder builder) {
  // Some other configuration here
  builder.packages("org.foo.barbaz");
  return builder.build();
}
Run Code Online (Sandbox Code Playgroud)

有没有办法用当前的Spring Data JPA版本来做到这一点,这是不是意味着这样做?

java spring spring-data-jpa spring-java-config

7
推荐指数
2
解决办法
4807
查看次数