Подтвердить что ты не робот

Spring Загрузка с JPA: перемещение @Entity в другой пакет

У меня возникают проблемы с моими первыми шагами, используя Spring -Boot с JPA. Я начал с довольно минималистического примера из Git с помощью Gradle.

Теперь просто переместив Customer в другой пакет, скажем, hello2 приведет к исключению Caused by: java.lang.IllegalArgumentException: Not an managed type: class hello2.Customer. Я попытался добавить

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

до Application, но безуспешно.

Что я делаю неправильно?

4b9b3361

Ответ 1

Расположение объектов в Spring Загрузка может быть настроена с помощью @EntityScan.

По умолчанию @EnableAutoConfiguration разрешает проверку объектов в пакете, где он размещен (если это не пакет по умолчанию).

Ответ 2

Вы должны найти пакиады сущностей и хранилищ, используя

@EnableJpaRepositories(basePackages = "your.repositories.pakage")

@EntityScan(basePackages = "your.entities.pakage")

Ответ 3

это то, что сработало для меня:

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

Ответ 4

Предоставление того же места в пакете (базовый пакет) для ниже аннотации работало для меня: -

@SpringBootApplication(scanBasePackages = {"org.ashu.java.*"})
@EnableJpaRepositories(basePackages ={ "org.ashu.java.*"})    
@EntityScan(basePackages ={ "org.ashu.java.*"})