0

我曾经在我的hibernate.cfg.xml文件中有这个 url 连接,一切正常。

<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);

在我的休眠映射 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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?))

我该如何解决这个问题?

4

1 回答 1

0

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

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

所以我会尝试打开你mock_db的目录并将目录从 重命名PUBLICTEST

于 2013-04-05T22:05:27.107 回答