当前位置: 首页 > 面试题库 >

HSQLDB和Hibernate / JPA-无法持久保存到磁盘吗?

和季
2023-03-14
问题内容

HSQL和Hibernate的新手知识…

em.getTransaction().begin();
for (Activity theActivity : activities) {
  em.persist(theActivity);
}
em.getTransaction().commit();
em.close();

其次是…

EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
System.out.println("QUERY:: "
    + em.createQuery("SELECT COUNT(*) FROM " + Activity.class.getName()).getSingleResult()
        .toString());
em.getTransaction().commit();

打印25000(活动中的“活动”对象的数量)。但是,当我再次运行此测试时,count(*)中的对象数量并没有增加(在程序开始时为0)。因此,不会持久地写入对象。

这是我的hsqldb连接字符串:

name="hibernate.connection.url" value="jdbc:hsqldb:file:data/cmon"

据我所知它不是内存数据库

有谁知道为什么对象无法在单个JVM会话之后无法持久化?乐于提供更多信息,但是与Hibernate / JPA /
HSQL相关的状态太多,以至于不清楚确切的含义。


问题答案:

有谁知道为什么对象无法在单个JVM会话之后无法持久化?

HSQLDB不会在提交后立即将更改写入磁盘(请参阅“ WRITE
DELAY

”),默认情况下HSQLDB并非持久性的(这就是“性能”的来源)。

尝试shutdown=true在连接字符串中设置连接属性,以获取在最后一个连接结束时写入的更改。

jdbc:hsqldb:file:data/cmon;shutdown=true

如果没有帮助,请尝试将WRITE
DELAY设置为0(或false)。如果您使用的是HSQLDB 1.8.x,请使用SQL命令:

SET WRITE_DELAY 0

如果您使用的是HSQLDB 2.0.x,现在还可以使用connection
属性
hsqldb.write_delay

jdbc:hsqldb:file:data/cmon;hsqldb.write_delay=false


 类似资料:
  • 问题内容: 我目前在我的Java应用程序中使用memcached,总体而言,它运行良好。 对我而言最重要的memcached功能包括: 它的速度很快,因为读写是在内存中,并且不会接触磁盘 这只是一个键/值存储(因为这就是我所有的应用程序需求) 它是分布式的 通过使每个对象恰好位于一台服务器上,它有效地使用了内存 它不假定对象来自数据库(因为我的对象不是数据库对象) 但是,有一件我想做的事情是mem

  • 这就是我的datasourcebean的样子

  • 每当我在redis中执行任何修改数据的命令时,我会得到以下错误 我在Mac上使用brew安装了redis。如何获取redis-server将信息记录到的日志文件的位置。我试着找redis Conf。文件,但也找不到。 我如何摆脱上面的错误,并且能够在Redis中执行修改数据的命令。

  • 我正在使用Redis,但我有一个错误:MISCONF Redis被配置为保存RDB快照,但当前无法保存在磁盘上。禁用可能修改数据集的命令。有关错误的详细信息,请查看Redis日志 服务器:CentOS 7-Vultr 但是,我不是用建议来解决的。 拜托,帮帮我。

  • 我使用的是CentOS6.9。我已经使用安装了Redis: 在安装过程中没有给出任何错误。 但是,每当我发出命令(例如或),它都会给出以下错误消息: (错误)MISCONF Redis配置为保存RDB快照,但当前无法在磁盘上持久化。禁用可能修改数据集的命令。有关该错误的详细信息,请查看Redis日志。 我发现MISCONF Redis被配置为保存RDB快照。但里面的建议都不起作用。 上面的公认答案

  • 我使用reddison客户端,但当客户端出现错误“Miscf Redis配置为保存RDB快照,但当前无法在磁盘上持久化”时 {"log":"3443340: C 09 Apr00:12:41.648*DB保存在磁盘上\n","stream":"stdout","time":"2022-04-09T00:12:41.649083457Z"}{"log":"3443340: C 09 Apr00:12