我以前在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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?))
如何解决此问题?
答案 0 :(得分:0)
根据http://hsqldb.org/doc/guide/databaseobjects-chapt.html#dbc_schemas_schema_objects
在HyperSQL中,每个数据库只有一个目录。的名字 目录是PUBLIC。您可以使用ALTER CATALOG重命名目录 重申声明。所有模式都属于此目录。目录 name与数据库的文件名无关。
因此,我会尝试打开您的mock_db
并将目录从PUBLIC
重命名为TEST
。