web-dev-qa-db-ja.com

JPAを使用したSpring Boot:@Entityを別のパッケージに移動する

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になりますが、成功しません。

私は何を間違えていますか?

29
Stefan K.

Spring Bootのエンティティの場所は、 @EntityScan

デフォルトでは、@EnableAutoConfigurationは、それが置かれているパッケージ内のエンティティスキャンを有効にします(デフォルトパッケージでない場合)。

41
axtavt

を使用して、エンティティとリポジトリのパッケージを見つける必要があります

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

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

これは私のために働いたものです:

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

下の注釈に同じパッケージの場所(つまり、基本パッケージ)を与えることは私のために働いた:-

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