通过axtavt添加一个很好的答案,并阐明您的sleep(1000)的工作原理:对于需要绝对同步持久性的开发环境,请关闭默认的write_delay。
<property name="hibernate.connection.url"
value="jdbc:hsqldb:file:data/db/db;shutdown=true;hsqldb.write_delay_millis=0"/>
这意味着在将结果返回给调用方之前,每个语句都已写入磁盘。自然,在正常操作中,您可以增加此值。默认值为500 ms,需要sleep(1000)。给出的信息适用于HsqlDB 2.2.x版。