0

hbm2ddl を使用してテーブルを作成していますが、正常に動作しますが、プロジェクトを実行するたびに、休止状態で .sql ファイルをロードしてデータベースにデータを入力する必要もあります。私の.sqlファイルがクラスパスにある場合、Hibernateはこれを行う必要があることがわかりましたが、機能していないようです。

ファイルがクラスパスにあるかどうかはわかりません。それを見つける方法もわかりません。現在、私のload.sqlはOther Sources/csr/main/resources/にあります

プロジェクトのプロパティ/ライブラリメニューでクラスパスにファイルを追加できることをググって読みましたが、Mavenプロジェクトにはそのセクションがないようです。

JDBC と Netbeans 7.1.2 で Mysql を使用しています。

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 の場合にのみロードされます。インポート ファイルは、他のすべてのオプションでは無視されます。このファイルでは、1 行のステートメントのみが許可されることに注意してください。

これらの 2 つのプロパティについては、Hibernate 構成の第 3.4 章で説明されています。

于 2012-10-22T10:44:21.143 に答える
1

sql-maven-pluginを使用して、そのようなことを行うことができます。これにより、SQL スクリプトなどを実行できます。hbm2ddl は、sql-maven-plugin で実行できる SQL スクリプトを作成します。

于 2012-09-28T07:18:26.977 に答える