Java 在运行时启用Jpa存储库

Java 在运行时启用Jpa存储库,java,spring,spring-data-jpa,Java,Spring,Spring Data Jpa,Jpa配置加载基本bean、扫描实体并启用存储库。基于运行时的一些条件,我想再添加几个包来扫描实体和存储库,并将它们连接到bean factory中。要扫描的额外包仅在运行时可用 @Configuration @EnableJpaRepositories @EntityScan @PropertySource(value = "classpath:jpa.properties") @EnableTransactionManagement(proxyTargetClass = true) @Ena

Jpa配置加载基本bean、扫描实体并启用存储库。基于运行时的一些条件,我想再添加几个包来扫描实体和存储库,并将它们连接到bean factory中。要扫描的额外包仅在运行时可用

@Configuration
@EnableJpaRepositories
@EntityScan
@PropertySource(value = "classpath:jpa.properties")
@EnableTransactionManagement(proxyTargetClass = true)
@EnableJpaAuditing
public class JpaConfiguration {

    ...
    ...

    public void condition(){
        if(someCondition){
            //scan more entities
            //enable more repositories
        }
    }  
}

可以这样做吗?

这可能与您有关吗?不。它是关于增强spring/hibernate已经扫描过的实体。EntityScan和EnableJpaRepositories接受basePackages属性。您可以将其与SPEL表达式一起使用,从属性文件中检索值。这些包在运行时在类路径中可用吗?