【问题标题】:How to set default value to JPA entity and liquibase如何为 JPA 实体和 liquibase 设置默认值
【发布时间】:2017-04-16 05:29:30
【问题描述】:

我有一个 JPA 实体,我在其中添加了一个布尔属性:

@Column(name = "attestation_reception_du_ok") private boolean attestationReceptionDuOk;

然后我运行 liquibase:diff 来生成 xml 文件来更新我的数据库。

然后我意识到我需要为我的属性添加一个默认值。 所以我像这样更新了 xml liquibase 生成的文件:

<addColumn tableName="collaborateur">
         <column name="attestation_reception_du_ok" type="bit"
                 defaultValueBoolean="false"/>
</addColumn>

我运行了 liquibase,它用默认值更新了 mysql 表。

但后来我再次运行 liquibase 并添加了这个生成的更改:

<dropDefaultValue columnDataType="boolean default 0"
                        columnName="attestation_reception_du_ok"
                        tableName="collaborateur"/>

所以我决定更新我的 JPA 实体,以告诉 liquibase 保留默认值选项:

@Column(name = "attestation_reception_du_ok" , columnDefinition = "bit  default 0")
    private boolean attestationReceptionDuOk;

但即使在 JPA 实体中添加了默认值后,liquibase 仍不断告诉我删除默认值。

我该怎么做才能告诉 liquibase 保持默认值?

谢谢。

【问题讨论】:

    标签: jpa liquibase


    【解决方案1】:

    这是与 3.6 版中修复的 liquibase 相关的问题。根据this 问题跟踪。只需更新您的 liquibase 版本即可使其正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 2012-05-12
      • 2017-05-17
      相关资源
      最近更新 更多