如何在db中扫描创建表的SQL文件?

时间:2015-07-01 11:05:40

标签: java sql hibernate spring-boot

我需要在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文件。

1 个答案:

答案 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文件。

我希望它有所帮助! :)