我的 database.properties 文件是:
datasource.driver=org.h2.Driver
datasource.url=jdbc:h2:file:./test_database/comixed_db;create=true
datasource.username=sa
datasource.password=
hibernate.dialect=org.hibernate.dialect.H2Dialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=false
hibernate.format_sql=true
hibernate.batch.size=20
hibernate.current.session.context.class=org.springframework.orm.hibernate5.SpringSessionContext
hibernate.generate_statistics=false
hibernate.enable_lazy_load_no_trans=false
当我的应用程序启动时,我看到我能够通过使用h2.bat工具查看表格,并从Web浏览器查看数据库。但是,当我关闭应用程序然后使用h2.bat工具返回数据库时,表格都消失了!
AM我在使用hibernate配置时做错了什么?我没有使用 create-drop ,而是更新,因为此代码目前处于不稳定状态,我希望在发生更改时调整表格。但这似乎不是问题,因为它在应用程序关闭时表格会不断消失。
任何帮助都将不胜感激。
答案 0 :(得分:1)
如果你想让spring boot抓住你的hibernate属性,你应该在spring.jpa
前加上它们,所以:
spring.jpa.hibernate.ddl-auto=update
否则,在我看来就是这种情况,spring将使用默认的create-drop
选项,因为它正在处理H2内存数据库。
答案 1 :(得分:1)
将以下行添加到 applications.properties :
spring.jpa.hibernate.ddl-auto=update
当应用程序退出时,Spring-boot停止丢弃表。