H2数据库存储机制

H2 database storage mechanism

我在 junit 测试中使用了 H2 数据库,它工作得很好。 但是,我对它的持久性属性几乎没有疑问:

  1. 当我关闭笔记本电脑时会发生什么?如果重新启动,表和数据是否会丢失?如果是,是否可以恢复?
  2. H2 是否使用事务日志将数据持久化到磁盘?我可以看到在我的用户目录中创建的数据库文件。我可以使用此文件将数据复制到另一个系统吗?
  3. 可以用 H2 配置 persistence/storage 机制吗?

参见 H2 Features 页面。

关于您的问题的简要总结:

  • H2 可以配置为使用 in-memory 或基于磁盘的持久性。根据您的选择,它会或不会在电源关闭后继续存在。
  • 事务支持为READ COMMITTED
  • 您可以复制并重复使用该文件,我不会将其称为传统意义上的数据复制。但是如果你有两个 H2 数据库,其中一个会宕机 f.ex。你可以从另一个复制文件并启动它。

同时检查 High Availability fpr H2 Database 项目。