Liquibase игнорирует @NotNull

У меня есть аннотация @NotNull для некоторых полей. Однако, когда я пытаюсь создать diffChangelog, он отбрасывает все ограничения, отличные от нулевых.

Образец класса:

public class User {

    @NotNull
    private String email;
}

Набор различий:

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

Кажется, единственным решением является добавление дополнительной аннотации @Column(nullable = false) в каждое поле. Могу ли я сделать что-нибудь, чтобы мне не приходилось добавлять дополнительную аннотацию в каждое поле.


person Kechit Goyal    schedule 21.07.2015    source источник
comment
Разве Liquibase не полагается на информацию из базы данных? Если да, то не будет ли это проблемой сценария Hibernate/DDL?   -  person Marvin    schedule 21.07.2015
comment
Используете ли вы расширение liquibase hibernate для создания различий? Если да, то какую версию спящего режима вы используете?   -  person Jens    schedule 22.07.2015
comment
Да. Я использую liquibase-hibernate4.version = 3.5   -  person Kechit Goyal    schedule 19.08.2015
comment
Здравствуйте @KechitGoyal, вы нашли решение, кроме nullable=false? nullable=false на самом деле не работают для меня.   -  person Anton    schedule 24.11.2018
comment
Для меня также изменение @Column(name = foo, nullable = true) не сработало. любое предложение?   -  person mehdi mohammadi    schedule 19.02.2019
comment
Эта проблема, кажется, все еще сохраняется, я использую liquibase 3.6.3. Кажется, @NotNull игнорируются.   -  person Michael Hegner    schedule 23.06.2019


Ответы (2)


если у кого-то все еще есть проблемы с этим, я недавно узнал, что он был исправлен в liquibase-hibernate5-3.7

person Kamil    schedule 19.09.2019

В настоящее время это работает для меня, когда я устанавливаю дополнительные:

@Column(nullable = false)

Почему-то @NotNull плохо работает с этим org.liquibase.ext.liquibase-hibernate5

person Michael Hegner    schedule 23.06.2019