本地 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 中可用。
我创建了一个 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 中可用。