什么是hhip与jhipster中基于磁盘的持久性

时间:2017-06-15 15:29:35

标签: mysql spring-boot jhipster

我是jhipster的新手,在开始时我被要求在

之间做出选择

H2,基于磁盘的持久性

具有内存持久性的H2

的MySQL

数据库之间有什么区别。

谢谢

2 个答案:

答案 0 :(得分:3)

您需要根据需要选择数据库。 JHipster的默认值是:

  • 对于开发 h2-diskbase,其为free SQL database written in Java。当您启动/运行您的应用程序时,数据库将是保存在项目根目录target目录下的文件。
  • 对于生产它的MySQL。如果选择mysql,JHipster提供了一个docker ready配置文件,您可以使用该文件在src/main/docker/mysql.yml下启动数据库。

关于部署到Heroku的评论,你有H2磁盘&内存基础,Postgres Addon Heroku免费。在Matt Raible的Postgres的免费书The JHipster Mini-Book 2.0中,有一个很好的JHipster应用程序部署到heroku的例子。

编辑: JHipster在生产和开发(MySQL,PostGreSQL,Microsoft SQL Server ......)中支持大多数关系数据库。只需相应地修改 application-dev.yml application-prod.yml 即可。 我不建议在生产中使用h2,甚至基于磁盘的版本。如果我们考虑到您的Heroku部署需求,PostGreSQL是一个很好的选择,具有大型社区和足够的功能,适用于普通应用。

答案 1 :(得分:2)

  

我们目前默认使用 H2 in-memory 持久性。这很容易   使用,但当然在每次重启时都会丢失数据(并且需要记录   在你失去持久会话令牌时再次出现,这是   烦。

     

默认情况下我们可以使用 H2基于磁盘的持久性,并保存   目标/目录中的数据库状态: