복붙노트

[SPRING] Spring 부트 (JPA 포함) : @Entity를 다른 패키지로 이동

SPRING

Spring 부트 (JPA 포함) : @Entity를 다른 패키지로 이동

JPA와 함께 Spring-Boot를 사용하여 나의 첫 걸음에 문제가 있습니다. 저는 Grad에서 Gradle을 사용하여 아주 단순한 예제로 시작했습니다.

이제 고객을 다른 패키지로 옮기면 hello2가 java.lang.IllegalArgumentException에 의해 예외가 발생한다고 가정 해 봅니다. 관리되는 유형이 아닙니다. class hello2.Customer. 나는 추가하려고 시도했다.

@ComponentScan (basePackageClasses = {Customer.class}) // AND OR @EnableJpaRepositories (basePackageClasses = {Customer.class})

하지만 성공적이지는 않습니다.

내가 뭘 잘못하고 있죠?

해결법

  1. ==============================

    1.Spring Boot의 엔티티 위치는 @EntityScan을 사용하여 구성 할 수 있습니다.

    Spring Boot의 엔티티 위치는 @EntityScan을 사용하여 구성 할 수 있습니다.

    기본적으로 @EnableAutoConfiguration은 배치 된 패키지에서 엔티티 검사를 활성화합니다 (기본 패키지가 아닌 경우).

  2. ==============================

    2.엔티티 및 리포지토리 패키지를 찾아야합니다.

    엔티티 및 리포지토리 패키지를 찾아야합니다.

    @EnableJpaRepositories(basePackages = "your.repositories.pakage")
    
    @EntityScan(basePackages = "your.entities.pakage")
    
  3. ==============================

    3.이것이 나를 위해 일한 것입니다 :

    이것이 나를 위해 일한 것입니다 :

    @EnableJpaRepositories(basePackages ={ "package1","package2"})
    @EntityScan(basePackages ={ "package3","package4"})
    
  4. ==============================

    4.아래 주석에 대한 동일한 패키지 위치 (기본 패키지)를 제공하는 것이 효과적입니다.

    아래 주석에 대한 동일한 패키지 위치 (기본 패키지)를 제공하는 것이 효과적입니다.

    @SpringBootApplication(scanBasePackages = {"org.ashu.java.*"})
    @EnableJpaRepositories(basePackages ={ "org.ashu.java.*"})    
    @EntityScan(basePackages ={ "org.ashu.java.*"})
    
  5. from https://stackoverflow.com/questions/23366226/spring-boot-w-jpa-move-entity-to-different-package by cc-by-sa and MIT license