wake-up-neo.net

Spring Boot mit JPA: Verschieben Sie @Entity in ein anderes Paket

Ich habe Probleme mit meinen ersten Schritten beim Spring-Boot mit JPA. Ich habe mit einem ziemlich minimalistischen Beispiel von Git mit Gradle angefangen. 

Verschieben Sie nun einfach Customer in ein anderes Paket. Angenommen, hello2 führt zu einer Ausnahme Caused by: Java.lang.IllegalArgumentException: Not an managed type: class hello2.Customer. Ich habe versucht hinzuzufügen 

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

zu Application, aber ohne Erfolg. 

Was mache ich falsch?

28
Stefan K.

Die Position der Entitäten in Spring Boot kann mit @EntityScan konfiguriert werden.

Standardmäßig aktiviert @EnableAutoConfiguration das Entitäts-Scanning in dem Paket, in dem es platziert wurde (wenn es kein Standardpaket ist).

39
axtavt

Sie müssen Entitäten und Repository-Pakete mit suchen

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

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

das hat bei mir funktioniert: 

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

Wenn derselbe Paketstandort (d. H. Basispaket) für unten stehende Anmerkungen angegeben wurde, funktionierte für mich Folgendes:

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