我正在使用 MySQL 构建一个 Spring Boot Web 应用程序,直到现在我都使用
spring.jpa.hibernate.ddl-auto=create-drop
在我的属性文件中,现在我想转到生产环境,我不能再使用这条线了,因为众所周知,它会将数据保存在内存中,最糟糕的是它会破坏所有数据并每隔一段时间创建一个新表部署。
出于开发目的,它很棒,但我接下来需要做的是因为我希望它的行为与我在 ddl-auto 上的行为完全相同,但要持续保存数据,最重要的是永远不要丢弃数据。
附言hibernate.ddl-auto 与 JPA 存储库无关? 因为我经常使用 Crud Repository,我需要它来继续使用 Crud Repository,对吗?
最佳答案
在我看来,最好的做法是:
- 使用选项
spring.jpa.hibernate.ddl-auto=create-drop
创建 开发环境中的数据库架构和默认数据(如果有) - 在普通 DDL 中导出创建的数据库模式
- 将 DDL 提供给 DBA,以检查是否必须进行任何改进(例如 添加一些索引,复习一些 FK 等。)
- 在 DBA 审查后调整 JPA 模型
- 将最终的 DDL 提供给“生产 DBA”以创建 生产环境中的最终正确架构也是
关于您的问题:
the hibernate.ddl-auto has nothig to do with the JPA Repository? cause i use Crud Repository alot and i need this to continue working with Crud Repository, will it?
您当然可以使用 crud 存储库;此选项不会影响您的业务逻辑
希望有用
安杰洛
关于java - 如何从hibernate auto转移到生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43673783/