本地 H2 服务器 + Hibernate:现有数据库不可见

Local H2 server + Hibernate: existing database is not visible

我创建了一个 table:

CREATE TABLE `Category` (
`id`       IDENTITY PRIMARY KEY,
`category` VARCHAR(512) NOT NULL
);

并尝试从中获取数据,使用 URL:

jdbc.url=jdbc:h2:~/test

它在管理员控制台中工作正常。
但是 "Table "CATEGORY“未找到;”在使用提到的 URL 中的 JDBC 访问 table 期间发生。

数据库属性:

jdbc.driverClassName=org.h2.Driver
jdbc.url=jdbc:h2:~/test
jdbc.username=sa
jdbc.password=

数据源bean.xml:

 <bean id="dataSource"
      class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
    <property name="url" value="${jdbc.url}"/>
</bean>

如何解决这个问题?

您不应该手动引用名称。让 Hibernate 为你做,只需添加这个 属性 hibernate.globally_quoted_identifiers=true 来引用所有数据库标识符。从 3.5 版开始,它在 Hibernate 中可用。