Hibernate prepareStatement不起作用

时间:2013-04-05 21:42:26

标签: hibernate

我以前在hibernate.cfg.xml文件中有这个网址连接,一切正常。

<property name="connection.url">jdbc:oracle:thin:address.to.real.db</property>

现在,我改变了这样的URL,以便在本地学习代码。

<property name="connection.url">jdbc:hsqldb:mem:mock_db</property>

更改后,以下声明将不再有效。 它引发了一个例外Invalid schema name: TEST in statement

jdbcConnection.prepareStatement(parameterizedStrQuery);

在我的hibernate映射xml文件中,我有这行代码

<hibernate-mapping schema="TEST">

parameterizedStrQuery看起来像这样

select obj.obj_id, from test.obj where obj.foo=0 and obj.var = 1 and (obj.obj_id in (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?))

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

根据http://hsqldb.org/doc/guide/databaseobjects-chapt.html#dbc_schemas_schema_objects

  

在HyperSQL中,每个数据库只有一个目录。的名字   目录是PUBLIC。您可以使用ALTER CATALOG重命名目录   重申声明。所有模式都属于此目录。目录   name与数据库的文件名无关。

因此,我会尝试打开您的mock_db并将目录从PUBLIC重命名为TEST