Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
spring.jpa.hibernate.ddl auto=validate是否在DB模式中进行更改?_Hibernate_Jpa_Spring Boot_Spring Data - Fatal编程技术网

spring.jpa.hibernate.ddl auto=validate是否在DB模式中进行更改?

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,但我发现新列会自动添加到生产数据库中

我用虚拟应用程序做了一个小POC,它没有在我的本地系统上添加列

有人能帮我了解一下
spring.jpa.hibernate.ddl auto=validate
属性的问题吗

感谢您的帮助

PFA我查看了文档,但没有得到足够的详细信息:

文档URL:
验证
不应更改数据库架构

如果是这样的话,你应该提出一个问题,尽管我怀疑这是真的发生了什么

我更倾向于认为

  • 您有多个配置和一个不同的配置,然后您正在查看的配置将被拾取
  • 完全不同的是您的数据库模式
要调试此情况,请执行以下操作:

  • 确保您可以复制架构更改行为,例如通过添加和删除实体
  • 一步一步地从项目中删除复制行为所不需要的所有内容。这将为您留下一个小项目:一个构建文件、一个实体、一个代表您的应用程序启动一切的类,可能是一个或两个配置文件
  • 如果您确实成功地执行了步骤2,但仍在复制模式更改行为,请更新您的问题或直接提交错误

    如果(我目前所期待的)在第二步的某个时候,奇怪的行为消失了,你就找到了你的罪魁祸首


    如果不明显:您希望使用版本控制来执行所有这些操作,以便可以撤消/重做/查看步骤。

    是的,在生产环境中,
    spring.jpa.hibernate.ddl auto=update
    是从外部.properties文件传递的

    现在我非常确定
    spring.jpa.hibernate.ddl auto=validate
    永远不会更新DB模式


    谢谢大家。

    如果任何名为“验证”的内容发生了更改,那么您应该报告它,因为这就是“更新”的目的。您提到了一个spring配置,它用来传递到Hibernate,但您没有提到哪些列,也没有提供任何您看到发生的更改的示例?问题是,您看到添加的列与一些SpringDataJPA特定的实现无关,这些实现与Hibernate无关。更多的细节会对你有所帮助。