如何为Spring的嵌入式数据库生成sql脚本?

时间:2012-09-02 15:15:51

标签: spring unit-testing initialization embedded-database spring-jdbc

我在单元测试中使用Spring嵌入式数据库。来自Spring documentantatio:

<jdbc:embedded-database id="dataSource">
    <jdbc:script location="classpath:schema.sql"/>
    <jdbc:script location="classpath:test-data.sql"/>
</jdbc:embedded-database>

网上有很多例子基本上都讲述了同样的故事。我能够从生产数据库手动创建sql语句。我可以使用mysqldump作为示例(假设生成的SQL被HSQL接受)。但我的表已在.hbm.xml文件中定义。有没有办法自动将它们生成到.sql文件中?

所有这一切的目的当然是初始化数据库。我的直接意图是只设置表格;我将在单元测试中插入必要的测试数据。

1 个答案:

答案 0 :(得分:0)

您可以让Hibernate从映射文件生成您的架构。然后,您不需要有一个脚本来进行集成测试。查看Hibernate Toolset Guide了解如何执行此操作。

或者,您可以针对您正在使用的数据库重新提出此问题,并查看创建模式生成脚本的最佳方法。