28 Haziran 2018 Perşembe

SpringBoot @EntityScan Anotasyonu

Giriş
Şu satırı dahil ederiz.
import org.springframework.boot.autoconfigure.domain.EntityScan;
Açıklaması şöyle. Yani @EntityScan ve @ComponentScan farklı işlere yarıyorlar.
The @EntityScan does not create beans. It only identifies which classes should be used by a specific persistence context. Since Spring boot 1.4 that includes JPA, MongoDB, neo4j, Casscandra and CouchBase.
Örnek
Şöyle yaparız.
@ComponentScan("org.example.base")
@EntityScan("org.example.base.entities")
public class MyConfig {

}
Örnek
Şöyle yaparız.
@SpringBootApplication
@EntityScan("a.b.c")
public class Main {
...
}
basePackages Alanı
Şöyle yaparız.
@EntityScan(basePackages = {"edu.miis.Entities"})
Bir projede basePackages alanı tanımlı olmasına rağmen Hibernate'in hbm.xml dosyalarını da yükledğini gördüm. Bunun engellemek için şöyle yapmak gerekti
spring.jpa.properties.hibernate.archive.autodetection=class

Hiç yorum yok:

Yorum Gönder