【问题标题】:Liquibase ignores @NotNullLiquibase 忽略 @NotNull
【发布时间】:2015-07-21 14:11:49
【问题描述】:

我在某些字段上有@NotNull 注释。但是,当我尝试生成 diffChangelog 时,它会删除所有非空约束

示例类:

public class User {

    @NotNull
    private String email;
}

diffChangeSet:

<changeSet author="author (generated)" id="1437485184491-4">
    <dropNotNullConstraint columnDataType="varchar(255)" columnName="email" tableName="user"/>
</changeSet>

唯一的解决方案似乎是在每个字段上添加一个额外的注释 @Column(nullable = false)。我可以做些什么,这样我就不必在每个字段上添加额外的注释。

【问题讨论】:

  • liquibase 不依赖数据库中的信息吗?如果是这样,这实际上不是 Hibernate/DDL 脚本问题吗?
  • 您是否使用liquibase hibernate extension 来生成您的差异?如果是这样,您使用的是什么版本的休眠?
  • 是的。我正在使用 liquibase-hibernate4.version = 3.5
  • 你好@KechitGoyal,除了nullable=false,你找到解决方案了吗? nullable=false 实际上不适合我。
  • 对我来说,更改 @Column(name = "foo", nullable = true) 也没有用。有什么建议吗?

标签: hibernate liquibase


【解决方案1】:

如果有人对此仍有疑问,我最近发现它已在 liquibase-hibernate5-3.7 中修复

【讨论】:

    【解决方案2】:

    目前,当我设置 addtional 时它对我有用:

    @Column(nullable = false)
    

    不知何故,@NotNull 不能很好地与 org.liquibase.ext.liquibase-hibernate5 配合使用

    【讨论】:

      猜你喜欢
      • 2014-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 2017-10-16
      • 2019-01-14
      相关资源
      最近更新 更多