hsqldb table 数据未以进程内模式加载
hsqldb table data not loading in in-process mode
我正在使用休眠和 HSQLDB。 HSQLDB 以进程内模式工作。
数据库查询:
session.createQuery("from Doctor").list();
returns 一个空列表。但是,实际上,数据库表不是空的,所有数据库文件都在项目包中
休眠配置:
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<!-- In-Process database connection-->
<property name="hibernate.connection.url">jdbc:hsqldb:file:demodb;shutdown=true</property>
<property name="hibernate.connection.username">user1</property>
<property name="hibernate.connection.password">user1</property>
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<mapping class="com.mycom.entity.Doctor"></mapping>
</session-factory>
</hibernate-configuration>
如何解决这个问题?
您的 JDBC URL 在启动 Java VM 的目录中打开数据库。如果将文件放在那里,则需要使用数据库的绝对路径或包含 user.home
目录占位符的路径。
参见:http://hsqldb.org/doc/2.0/guide/dbproperties-chapt.html#dpc_variables_url
我正在使用休眠和 HSQLDB。 HSQLDB 以进程内模式工作。
数据库查询:
session.createQuery("from Doctor").list();
returns 一个空列表。但是,实际上,数据库表不是空的,所有数据库文件都在项目包中
休眠配置:
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<!-- In-Process database connection-->
<property name="hibernate.connection.url">jdbc:hsqldb:file:demodb;shutdown=true</property>
<property name="hibernate.connection.username">user1</property>
<property name="hibernate.connection.password">user1</property>
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<mapping class="com.mycom.entity.Doctor"></mapping>
</session-factory>
</hibernate-configuration>
如何解决这个问题?
您的 JDBC URL 在启动 Java VM 的目录中打开数据库。如果将文件放在那里,则需要使用数据库的绝对路径或包含 user.home
目录占位符的路径。
参见:http://hsqldb.org/doc/2.0/guide/dbproperties-chapt.html#dpc_variables_url