Ответ 1
Расположение объектов в Spring Загрузка может быть настроена с помощью @EntityScan
.
По умолчанию @EnableAutoConfiguration
разрешает проверку объектов в пакете, где он размещен (если это не пакет по умолчанию).
У меня возникают проблемы с моими первыми шагами, используя 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
, но безуспешно.
Что я делаю неправильно?
Расположение объектов в Spring Загрузка может быть настроена с помощью @EntityScan
.
По умолчанию @EnableAutoConfiguration
разрешает проверку объектов в пакете, где он размещен (если это не пакет по умолчанию).
Вы должны найти пакиады сущностей и хранилищ, используя
@EnableJpaRepositories(basePackages = "your.repositories.pakage")
@EntityScan(basePackages = "your.entities.pakage")
это то, что сработало для меня:
@EnableJpaRepositories(basePackages ={ "package1","package2"})
@EntityScan(basePackages ={ "package3","package4"})
Предоставление того же места в пакете (базовый пакет) для ниже аннотации работало для меня: -
@SpringBootApplication(scanBasePackages = {"org.ashu.java.*"})
@EnableJpaRepositories(basePackages ={ "org.ashu.java.*"})
@EntityScan(basePackages ={ "org.ashu.java.*"})