0

データベースに2つのレコードをロードし、DBからすべてのレコードをフェッチし、すべてのレコードから情報を出力するサンプルアプリケーションがあります。

私の問題は次のとおりです。プログラムを実行すると、この実行時に挿入されたレコードのみがフェッチされますが、以前はフェッチされません。また、SQirrelでDBを開いている場合、そのようなデータベースはありません。

これが私のHibernate設定です:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
        <property name="dialect">org.hibernate.dialect.HSQLDialect</property>
        <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
        <property name="connection.url">jdbc:hsqldb:hibertest</property>
        <property name="connection.username">sk</property>
        <property name="connection.password">0000</property>
        <property name="show_sql">true</property>
        <property name="current_session_context_class">thread</property>
        <property name="hbm2ddl.auto">update</property>

        <mapping class="models.Work" />
    </session-factory>
</hibernate-configuration>

私が間違っているのは何ですか?

4

4 に答える 4

4

私はHSQLDBの経験がありませんが、次のURLを試してください。

<property name="connection.url">jdbc:hsqldb:file:hibertest;shutdown=true</property>

参照:接続URLのドキュメント

于 2012-05-09T17:09:48.170 に答える
2

hsqldbのデフォルト構成は、作成されたテーブルのデータをディスクに保存しないことだと思います。この動作を変更してテーブルを永続化する方法については、hsqldbのドキュメントを確認してください。

http://hsqldb.org/doc/guide/guide.html#sgc_persist_tables

于 2012-05-09T17:10:14.673 に答える
1

提供されたすべての答えは私をまったく助けませんでした。現在、HSQLDB-2.3.2とhibernate-core-3.5.6をアノテーション付きで使用しています-3.2.0

Tomaszの回答に加えて、データベーススクリプトファイルを手動で編集して、次のように設定する必要がありました。

SET WRITE_DELAY 0
于 2014-06-02T06:51:25.353 に答える
0

次の手順を実行することで、HSQLを使用してデータを永続化できます1。

 Connection c = DriverManager.getConnection("jdbc:hsqldb:file:/opt/db/testdb", "SA", "");

ここでの「/opt/ db / testdb」は、ディスク内のDBの場所です。
2.3 CREATE **TEXT** TABLE <tablename> (<column definition> [<constraint definition>])
.テーブルのソースを割り当てます
SET TABLE mytable SOURCE "myfile;fs=|"

参照: http: //hsqldb.org/doc/2.0/guide/texttables-chapt.html

私のGithubリポジトリにはサンプルhttps://github.com/Ayyamperumal/HSQL/tree/master/SampleHSQLdbが表示されます

Eclipseの「データベース開発」パースペクティブを使用してデータを表示できます。(ドライバーとしてhsql jarを指定します)または、hsqldb-*。jarからorg.hsqldb.util.DatabaseManagerを実行して、データを表示するためのGUIを取得します

于 2016-01-07T17:21:04.577 に答える