【发布时间】:2013-04-23 23:48:57
【问题描述】:
我有一个包(比如packagesToScan),其中包含我希望使用@Entity 注释的类。
在定义ApplicationContext 配置时,我做了如下操作。
@Configuration
@EnableJpaRepositories("packagesToScan")
@EnableTransactionManagement
@PropertySource("server/jdbc.properties")
@ComponentScan("packagesToScan")
public class JpaContext {
...
// Other configurations
....
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean emf = new LocalContainerEntityManagerFactoryBean();
emf.setDataSource(this.dataSource());
emf.setJpaVendorAdapter(this.jpaVendorAdapter());
emf.setPackagesToScan("packagesToScan");
emf.setJpaProperties(this.hibernateProperties());
return emf;
}
在开发过程中,我在packagesToScan 中有一些类不满足持久性要求(例如没有主键等),因此由于ApplicationContext 设置失败,我不允许运行测试。
现在,
有什么方法可以只扫描某些选定的课程或忽略packagesToScan 中的某些课程?
【问题讨论】:
-
您可以删除/评论 @Entity 注释,直到您的实体完成。比持久性提供者不会拾取它。
-
难道不能只扫描一些我想测试的特定实体吗?
-
您还可以删除 packagesToScan 选项,创建 persistence.xml 并在此处列出实体。我仍然不明白您排除某些实体的动机 - 如果您处于开发过程中并且您的实体不完整,或者我遗漏了什么,您可以轻松删除 @Entity 注释?
-
你有没有找到一个解决方案来忽略
packagestoscan中的一些实体? -
@nilgun 不,我没有。
标签: spring spring-data spring-data-jpa applicationcontext