패키지 지정 방법휴지 상태에서의 ToScan Jpa자동 설정?
사용하고 있다HibernateJpaAutoConfiguration
스프링 유닛 테스트에 직접 참여합니다.휴지 상태 및EntityManager
이 설정되어 있는 경우, 엔티티는 스캔 되지 않습니다.
예외.
10:29:36.377 [main] INFO o.s.b.f.a.AutowiredAnnotationBeanPostProcessor - JSR-330 javax.inject.Inject' annotation found and supported for autowiring
10:29:36.505 [main] TRACE o.s.b.b.PropertiesConfigurationFactory - Property Sources: org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor$FlatPropertySources@65f8f5ae
10:29:36.638 [main] TRACE o.s.b.b.PropertiesConfigurationFactory - Property Sources: org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor$FlatPropertySources@65f8f5ae
10:29:36.716 [main] TRACE o.s.b.b.PropertiesConfigurationFactory - Property Sources: org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor$FlatPropertySources@65f8f5ae
10:29:36.818 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Building JPA container EntityManagerFactory for persistence unit 'default'
10:29:36.842 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [
name: default
...]
10:29:36.979 [main] INFO org.hibernate.Version - HHH000412: Hibernate Core {4.3.6.Final}
10:29:36.980 [main] INFO org.hibernate.cfg.Environment - HHH000206: hibernate.properties not found
10:29:36.982 [main] INFO org.hibernate.cfg.Environment - HHH000021: Bytecode provider name : javassist
10:29:37.234 [main] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
10:29:37.599 [main] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL9Dialect
10:29:37.608 [main] INFO o.h.e.j.internal.LobCreatorBuilder - HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
10:29:37.648 [main] INFO o.h.h.i.a.ASTQueryTranslatorFactory - HHH000397: Using ASTQueryTranslatorFactory
10:29:37.742 [main] INFO o.h.tool.hbm2ddl.SchemaUpdate - HHH000228: Running hbm2ddl schema update
10:29:37.742 [main] INFO o.h.tool.hbm2ddl.SchemaUpdate - HHH000102: Fetching database metadata
10:29:37.744 [main] INFO o.h.tool.hbm2ddl.SchemaUpdate - HHH000396: Updating schema
10:29:37.745 [main] INFO o.h.tool.hbm2ddl.SchemaUpdate - HHH000232: Schema update complete
이 문제를 해결하려면 자체 시스템을 구축해야 합니다.LocalContainerEntityManagerFactoryBean
다음과 같습니다.
final LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
factoryBean.setPersistenceUnitName("buzzPU"); // persistence.xml
factoryBean.setDataSource(dataSource);
factoryBean.setJpaVendorAdapter(jpaVendorAdapter);
factoryBean.setPersistenceXmlLocation("classpath*:META-INF/donotparsepersistence.xml");
factoryBean.setPackagesToScan("org.soluvas.buzz.core.jpa");
주의: 저는 사용하지 않습니다.META-INF/persistence.xml
Spring Boot 참조에서...
Spring Boot은 @Entity 정의 위치를 @Entity로 추측합니다.검출된 AutoConfiguration.제어력을 높이기 위해 @EntityScan 주석을 사용할 수 있습니다.
@Configuration
@EnableAutoConfiguration
@EntityScan(basePackageClasses=City.class)
public class Application {
//...
}
다음을 사용하는 것도 도움이 됩니다.
@EntityScan("org.soluvas.buzz.core.jpa")
이것은 주석이 달린 엔티티를 검색할 패키지 목록을 구성하는 'basePackages' 속성의 별칭입니다.
이 주석은 LocalContainerEntityManagerFactoryBean을 수동으로 설정하는 대신 사용할 수 있습니다.set Packages(set Packages)ToScan(String...)은 타입 세이프 방식으로 엔티티 스캔을 설정하는 경우 또는 LocalContainerEntityManagerFactoryBean이 자동으로 설정되어 있는 경우에 특히 유용합니다.
언급URL : https://stackoverflow.com/questions/25366550/how-to-specify-packagestoscan-in-hibernatejpaautoconfiguration
'programing' 카테고리의 다른 글
스프링 부트를 사용한 유닛 테스트의 보안을 무효화 (0) | 2023.03.05 |
---|---|
AngularJS - UI 라우터 - 동적 뷰 구성 방법 (0) | 2023.03.05 |
"오류: 리렌더가 너무 많습니다.무한 루프를 방지하기 위해 리액트는 렌더링 수를 제한합니다." (0) | 2023.03.05 |
스프링 부트 show sql 파라미터 바인딩? (0) | 2023.03.05 |
Oracle - FAST Refresh 및 JOINs를 사용하여 구체화된 뷰를 작성하는 방법 (0) | 2023.03.05 |