Как использовать HSQLDB для динамического создания таблиц для приложения JDBC - PullRequest
1 голос
/ 14 июля 2011

Я хочу использовать HyperSQL в качестве базы данных в памяти для интеграционных тестов приложения Java - 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 есть способ динамически генерировать таблицы при использовании в качестве базы данных в памяти, но я не могу найти его в документации.

1 Ответ

2 голосов
/ 14 июля 2011

Почему вы выполняете запрос на ВСТАВКУ?Это не вернет ResultSet.

Вы должны executeUpdate()

В HSQL нет ничего "автоматического".Возможно, вы думаете о Hibernate и его hbm2ddl.

...