Hibernate似乎不会在关闭时保存数据

时间:2014-04-04 17:32:45

标签: java hibernate hsqldb

我尝试使用Hibernate使用一系列SQL插入语句来恢复HSQL数据库。不会抛出任何错误,并且在循环遍历所有语句之后,数据似乎在数据库中。问题是我关闭应用程序并重新启动后,数据丢失。我可以从会话中查询它,直到我关闭它。这就是我正在做的事情:

Session session = sessionFactory.openSession
try {
    Transaction transaction = session.beginTransaction();
    if (insertStatement != null && !insertStatement.isEmpty()) {
        Query q = session.createSQLQuery(insertStatement);
        q.executeUpdate();
    }
    transaction.commit();
    session.flush();
} catch (Exception e) {
    e.printStackTrace();
}

它似乎并不复杂,似乎确实有效,至少在我关闭了与数据库的连接之前。我已经检查过它在恢复过程中连接的HSQL数据库,首先我首先加载应用程序,它是一样的。我错过了哪些可以防止这种情况持续存在?

1 个答案:

答案 0 :(得分:0)

您已添加hsqldb.log_data=false以防止记录数据更改。

使用此设置,必须显式执行SHUTDOWN命令才能保留数据。禁用数据更改日志记录时别无选择。