【问题标题】:hsqldb table data not loading in in-process modehsqldb 表数据未在进程内模式下加载
【发布时间】:2019-11-22 12:04:59
【问题描述】:

我正在使用休眠和 HSQLDB。 HSQLDB 在进程内模式下工作。

数据库查询:

    session.createQuery("from Doctor").list();

返回一个空列表。但实际上,数据库表不是空的,所有数据库文件都在项目包中

休眠配置:

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

我该如何解决这个问题?

【问题讨论】:

    标签: hibernate hsqldb


    【解决方案1】:

    您的 JDBC URL 在启动 Java VM 的目录中打开数据库。如果将文件放在那里,则需要使用数据库的绝对路径或包含 user.home 目录占位符的路径。

    见:http://hsqldb.org/doc/2.0/guide/dbproperties-chapt.html#dpc_variables_url

    【讨论】:

    • procject包中的所有数据库文件
    • 检查 Java VM 的启动位置。它可能与您的文件不在同一个地方。
    • 是的,确实,数据库文件的绝对路径(没有扩展名的 demodb)有效
    猜你喜欢
    • 2021-04-01
    • 2018-09-23
    • 2015-01-29
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    相关资源
    最近更新 更多