Mi archivo de base de datos.propiedades es:
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=falseCuando se inicia mi aplicación, veo que puedo ver las tablas usando la herramienta h2.bat y mirando la base de datos desde un navegador web. Sin embargo, cuando cierro la aplicación y luego vuelvo a la base de datos con la herramienta h2.bat, ¡todas las tablas desaparecen!
¿Estoy haciendo algo incorrecto con mi configuración de hibernación? No estoy usando create-drop pero actualizo ya que este código está cambiando actualmente y me gustaría que las tablas se ajusten a medida que ocurren los cambios. Pero ese no parece ser el problema, ya que es al cerrar la aplicación cuando las tablas siguen desapareciendo.
Cualquier ayuda sería apreciada.
Si desea que Spring Boot capture sus propiedades de hibernación, debe prefijarlas con spring.jpa , por lo que:
spring.jpa.hibernate.ddl-auto=update De lo contrario, y ese es el caso en mi opinión, Spring usará las opciones predeterminadas create-drop , ya que se trata de una base de datos en memoria H2.
Agregando la siguiente línea a application.properties :
spring.jpa.hibernate.ddl-auto=updateSpring-boot dejó de eliminar tablas cuando se cierra la aplicación.