【问题标题】:How to scan SQL files for create tables in db?如何扫描 SQL 文件以在 db 中创建表?
【发布时间】:2015-07-01 11:05:39
【问题描述】:

我需要扫描我的 SQL 文件,SQL 文件以在 db 中创建表。现在我有:

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

【问题讨论】:

标签: java sql hibernate spring-boot


【解决方案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 来创建数据库架构,您应该在类路径中使用 schema.sql 文件 (http://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html)。

希望对你有帮助! :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多