JPAでSpring-Bootを使用する最初の手順に問題があります。 Gradleを使用して、かなりミニマルな Gitの例 から始めました。
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 Bootのエンティティの場所は、 @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.*"})