java - Sqlite 与 hibernate 和 spring-boot

标签 java hibernate jpa spring-boot sqlite

我正在使用 maven、hibernate、spring 和 sqlite3 开发一个项目。对于连接和 hibernate 的配置,我使用 application.yml 文件,该文件是:

spring: 
profile: dev 
jpa:
hibernate:
ddl-auto: create-drop 
properties:
hibernate:
dialect: org.hibernate.dialect.SQLiteDialect
datasource:url: jdbc:sqlite:C:\Users\user pc\Desktop\database\testrest.db
username: username
password: password
driverClassName: org.sqlite.JDBC

每次启动应用程序时,我的 sqlite 数据库都会被覆盖(因此我会丢失所有表),并且会创建一个同名的新数据库。

希望得到您的帮助,先谢谢您。

最佳答案

Hibernate 的 ddl-auto 可能值列表为:

  • 验证:验证架构,不对数据库进行任何更改。
  • 更新:更新架构。
  • 创建:创建架构,销毁以前的数据。
  • create-drop:创建架构,然后在 SessionFactory 时删除它显式关闭(应用程序已关闭)。

您应该将create-drop替换为updatevalidate

关于java - Sqlite 与 hibernate 和 spring-boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47297864/

相关文章:

java - 如何在 Eclipse 中将 GitHub 托管项目导入为 Java 项目?

hibernate - 什么是 hibernate 和n- hibernate ?

java - 获取JPA注释中指定的属性值

java - Hibernate 忽略 @AttributeOverrides 注释并在错误的表中创建列

java - 在进行一组查询时如何避免数据库发生变化?

java - Android/Java - 将 int 值从方程转换为 double

java - 为什么在 Tomcat 加载和读取 beans.xml 时没有正确加载 Spring AOP XML 模式

java - hibernate 给出两行相同的行而不是两行不同的行

java - 试图限制用户只能输入质数

java - 如何通过 Hibernate 在 mysql 中获取枚举类型的所有可能值