【发布时间】: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) 也没有用。有什么建议吗?