我需要在db中扫描我的SQL文件,用于创建表的SQL文件。现在我有:
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
@Configuration
@EntityScan({"model"}) //in folder model put SQL-files
@ComponentScan(basePackageClasses = { MyApiServiceImpl.class})
@Import({DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
public class TestConfig {
...
}
但这不能从模型文件夹中获取SQL文件,因为在模型文件夹中必须放置实体类,但我想在模型文件夹中使用SQL文件。
答案 0 :(得分:1)
我不相信@EntityScan
适用于扫描sql文件(http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/orm/jpa/EntityScan.html)。实际上它使用@Entity
注释扫描类。如果您希望文件自动出现在应用程序的类路径中,则应将它们放在src / main / resources文件夹中(如果您使用的是maven / gradle)。
如果希望Spring执行sql来创建数据库模式,则应在类路径(http://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html)中使用schema.sql文件。
我希望它有所帮助! :)