SpringBoot2-Hibernate和javax.validation注释

SpringBoot2-Hibernate和javax.validation注释,hibernate,spring-boot,jpa,bean-validation,Hibernate,Spring Boot,Jpa,Bean Validation,我有一个SpringBoot1.x应用程序,已经迁移到SpringBoot2.1.2.0版本。我用javax.validation约束注释了一些JPA实体,如下所示: @Entity public class User { @NotNull private String username; } 这将为MySQL生成以下ddl: create table user (username varchar(255) not null); 现在这些约束被忽略了,我不明白为什么。你有

我有一个SpringBoot1.x应用程序,已经迁移到SpringBoot2.1.2.0版本。我用
javax.validation
约束注释了一些JPA实体,如下所示:

@Entity
public class User {

    @NotNull
    private String username;

}
这将为MySQL生成以下ddl:

create table user (username varchar(255) not null);

现在这些约束被忽略了,我不明白为什么。你有什么提示吗?

我三天前遇到了这个问题,对我有效的方法是:

1) 止动弹簧靴 2) 消除数据库 3) 重新启动spring引导以再次生成它

我还尝试将注释从
@NotNull
更改为
@Column(nullable=false)
,但它不起作用


让我知道它是否也适合你

事实上,我为每个
@NotNull
添加了
@Column(nullable=false)
(注意,添加,而不是替换,因为我正在使用这些注释进行bean验证),它似乎可以工作,但我不明白为什么会禁用它。因为Java bean验证注释与JPA API无关,因此在JPA模式生成方面是不可移植的,那么问问自己,当JPA提供了自己的实现方法时,为什么要依赖这些JPA提供者特定的东西呢