【问题标题】:Hibernate tries to (re)create existing tables and does not update tablesHibernate 尝试(重新)创建现有表并且不更新表
【发布时间】:2021-05-22 18:01:36
【问题描述】:

我正在使用 Hibernate 5.4.31 并且有一个问题,即使 hibernate.hbm2ddl.auto 值设置为更新,hibernate 总是尝试重新创建现有的表和外键。另一方面,对实体的任何更新都不会反映在表结构中。我认为这是因为尝试在每次启动时重新创建表。

创建,没有按预期工作。

弗洛里安

【问题讨论】:

    标签: hibernate


    【解决方案1】:

    经过多次尝试和错误,我找到了这种行为的原因:

    无论出于何种原因,我的 hibernate.cfg.xml 文件中有以下配置:

    <property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>
    

    我不知道为什么有人将这种和平的代码添加到配置中(它是一个现有的项目)。查看休眠文档,我发现了这个定义:

    “该设置用于控制我们是否应该在数据库可能不可用时(主要是在工具使用方面)查阅 JDBC 元数据以确定某些设置默认值。”

    我不知道为什么我们需要这个配置,因此我删除了它,瞧,Hibernate 并没有尝试在每次启动时重新创建现有表。

    希望有人能帮忙。

    弗洛里安

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-29
      • 1970-01-01
      • 2021-10-10
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      相关资源
      最近更新 更多