bootstrap - spring data
Spring Boot w/JPA: mueve @Entity a un paquete diferente (4)
Dar la misma ubicación del paquete (es decir, el paquete base) para la anotación siguiente funcionó para mí:
@SpringBootApplication(scanBasePackages = {"org.ashu.java.*"})
@EnableJpaRepositories(basePackages ={ "org.ashu.java.*"})
@EntityScan(basePackages ={ "org.ashu.java.*"})
Tengo problemas con mis primeros pasos con Spring-Boot con JPA. Empecé con un ejemplo bastante minimalista de Git usando Gradle.
Ahora, simplemente moviendo al Customer
a otro paquete, digamos a hello2
resultados en una excepción Caused by: java.lang.IllegalArgumentException: Not an managed type: class hello2.Customer
. Traté de agregar
@ComponentScan(basePackageClasses= {Customer.class}) // AND OR @EnableJpaRepositories(basePackageClasses= {Customer.class})
a la Application
, pero sin éxito.
¿Qué estoy haciendo mal?
Debe localizar paquetes de entidades y repositorios mediante el uso de
@EnableJpaRepositories(basePackages = "your.repositories.pakage")
@EntityScan(basePackages = "your.entities.pakage")
La ubicación de las entidades en Spring Boot se puede configurar usando @EntityScan
.
De forma predeterminada, @EnableAutoConfiguration
habilita el escaneo de entidades en el paquete donde se ubica (si no es un paquete predeterminado).
esto es lo que funcionó para mí:
@EnableJpaRepositories(basePackages ={ "package1","package2"})
@EntityScan(basePackages ={ "package3","package4"})