0

我正在使用 hbm2ddl 创建我的表,它工作得很好,但我也希望 hibernate 在每次运行我的项目时加载一个 .sql 文件来填充数据库。我发现如果我的 .sql 文件在类路径中,Hibernate 应该这样做,但它似乎不起作用。

我不确定文件是否在类路径中,我不知道如何找到它。目前我的 load.sql 在 Other Sources/csr/main/resources/

我用谷歌搜索并读到我可以在我的项目的属性/库菜单中添加一个文件到类路径,但似乎 Maven 项目没有该部分。

我正在将 Mysql 与 JDBC 和 Netbeans 7.1.2 一起使用。

4

2 回答 2

3

您必须在 hibernate.xml 中指定要加载的 SQL 文件

<hibernate-configuration>
    <session-factory>
        ... some other stuff comes here     
        <property name="hibernate.hbm2ddl.auto">create-drop</property>
        <property name="hibernate.hbm2ddl.import_files">
            /import1.sql, /import2.sql
        </property>
    </session-factory>
<hibernate-configuration>

仅当 hbm2ddl.auto = create-drop 时才会加载脚本。导入文件在所有其他选项上都被忽略 请注意,此文件中只允许使用单行语句。

这两个属性在Hibernate Configuration, Chapter 3.4中描述

于 2012-10-22T10:44:21.143 回答
1

您可以使用sql-maven-plugin来执行此类操作。这可以运行 sql 脚本等。 hbm2ddl 创建可以由 sql-maven-plugin 执行的 SQL 脚本。

于 2012-09-28T07:18:26.977 回答