2011-07-14 1 views
1

Java-JDBCアプリケーションの統合テストで、HyperSQLをインメモリデータベースとして使用したいと考えています。HSQLDBを使用してJDBCアプリケーション用のテーブルを動的に生成する方法

私は次のことをしようとした場合:

Properties props = new Properties(); 
props.put("user", "sa"); 
props.put("password", ""); 
Class.forName("org.hsqldb.jdbcDriver"); 
Connection cn = DriverManager.getConnection("jdbc:hsqldb:mem://localhost", props); 

Statement st = cn.createStatement(); 
st.executeUpdate("Insert into foo (bar) values (10);"); 

私が手:

java.sql.SQLException: Table not found: foo in statement [Insert into bar] 

私は、インメモリデータベースとして使用する場合HSQLを動的にテーブルを生成するための方法があったと思ったが、私はドキュメントでそれを見つけることができないようです。

+0

あなたのデータベースに既に 'foo'がありますか?それが既に存在しない場合、どのようにそれのスキーマを知ることができますか? –

答えて

2

なぜINSERTのクエリを実行していますか?それはResultSetを返しません。あなたがするべき

executeUpdate()

"自動" は何もHSQLにありません。あなたはHibernateとそのhbm2ddlを考えているかもしれません。

+0

おっと、実験中にうずくまってしまった。編集されました。 –

関連する問題