spring.jpa.hibernate.ddl auto=validate是否在DB模式中进行更改?
在生产环境中,我使用spring.jpa.hibernate.ddl auto=validate,但我发现新列会自动添加到生产数据库中 我用虚拟应用程序做了一个小POC,它没有在我的本地系统上添加列 有人能帮我了解一下spring.jpa.hibernate.ddl auto=validate是否在DB模式中进行更改?,hibernate,jpa,spring-boot,spring-data,Hibernate,Jpa,Spring Boot,Spring Data,在生产环境中,我使用spring.jpa.hibernate.ddl auto=validate,但我发现新列会自动添加到生产数据库中 我用虚拟应用程序做了一个小POC,它没有在我的本地系统上添加列 有人能帮我了解一下spring.jpa.hibernate.ddl auto=validate属性的问题吗 感谢您的帮助 PFA我查看了文档,但没有得到足够的详细信息: 文档URL: 验证不应更改数据库架构 如果是这样的话,你应该提出一个问题,尽管我怀疑这是真的发生了什么 我更倾向于认为 您有多
spring.jpa.hibernate.ddl auto=validate
属性的问题吗
感谢您的帮助
PFA我查看了文档,但没有得到足够的详细信息:
文档URL:
验证
不应更改数据库架构
如果是这样的话,你应该提出一个问题,尽管我怀疑这是真的发生了什么
我更倾向于认为
- 您有多个配置和一个不同的配置,然后您正在查看的配置将被拾取
- 完全不同的是您的数据库模式
如果不明显:您希望使用版本控制来执行所有这些操作,以便可以撤消/重做/查看步骤。是的,在生产环境中,
spring.jpa.hibernate.ddl auto=update
是从外部.properties文件传递的
现在我非常确定spring.jpa.hibernate.ddl auto=validate
永远不会更新DB模式
谢谢大家。如果任何名为“验证”的内容发生了更改,那么您应该报告它,因为这就是“更新”的目的。您提到了一个spring配置,它用来传递到Hibernate,但您没有提到哪些列,也没有提供任何您看到发生的更改的示例?问题是,您看到添加的列与一些SpringDataJPA特定的实现无关,这些实现与Hibernate无关。更多的细节会对你有所帮助。