インメモリDB:単体テストの「setUp()」でスキーマを作成します。Netbeans (6.5.1) Hibernate (3) Junit(3)、HSQL (1.8)

StackOverflow https://stackoverflow.com/questions/1893737

質問

Netbeans 6.5.1 を使用して Junit (3) 'setUp()' 内で Hibernate の 'hbm2ddl' ツールを使用してインメモリ DB をセットアップし、スキーマを自動的に構築するために必要な手順は何ですか?Hibernate アノテーションは使用していません。マッピング ファイルだけを使用しています。

実際のコードでは、もちろんディスク上のデータベースを使用したいと思います。[これは Junits が別個の「テスト」パッケージをライブで提供することです]

したがって、これはそこに到達していると思います:

  1. Netbeans 6.5.1 で標準 Java プロジェクトを作成し、Hiberate ライブラリに追加します。
  2. POJO、hibernate.cfg、および Hibernate マッピング ファイルを作成します。
  3. cfg ファイルとマッピング ファイルをテスト パッケージにコピーします。

設定方法はこんな感じです。

 protected void setUp() throws Exception {
         Configuration config = new Configuration();
         config.configure();
         SchemaExport exporter;
         exporter=new SchemaExport(config);
         exporter.create(true, true);
    }
役に立ちましたか?

解決

  1. Netbeans 6.5.1 で標準 Java プロジェクトを作成し、Hiberate ライブラリに追加します。
  2. POJO、hibernate.cfg、および Hibernate マッピング ファイルを作成します。
  3. cfg ファイルとマッピング ファイルをテスト パッケージにコピーします。

テストケースの概要は次のようになります。

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
...
public class DatabaseTest extends TestCase {
    private static Configuration config;
    private static SessionFactory sessionFactory;
    private static Session session;
...
    @Override
    protected void setUp() throws Exception {
         config = new Configuration();
         config.configure();
         SchemaExport exporter;
         exporter=new SchemaExport(config);
         exporter.create(true, true);
         sessionFactory = config.buildSessionFactory();
         session=sessionFactory.openSession();
    }
...
    @Override
    protected void tearDown() throws Exception {
        session.close();
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top