Hibernate验证器序列或顺序

时间:2017-07-23 04:32:41

标签: java hibernate validation bean-validation hibernate-validator

我正在使用 hibernate框架,我想在 @Entity 类中应用 hibernate约束。我想在它的顺序/序列上执行/运行约束,如@Entity类中的定义。

@Entity
@Table(name = "User")
public class User{
    @NotNull
    @NotBlank
    @Pattern(regexp = "[a-zA-Z]+")
    @Length(max = 10)
    private String firstName;
}

我想按以下顺序执行约束:

    1) @NotNull
    2) @NotBlank
    3) @Pattern(regexp = "[a-zA-Z]+")
    4) @Length(max = 10)

任何人请帮助我如何实现它。我还想在多个字段上应用约束顺序/序列。

1 个答案:

答案 0 :(得分:0)

Hibernate验证中有Group和GroupSequence概念。检查一下。 如果我应用这些概念,您的代码将如下所示。

@Entity
@Table(name = "User")
@GroupSequence({One.class, Two.class, Three.class, Four.class})
public class User{
    @NotNull(groups={One.class})
    @NotBlank(groups={One.class})
    @Pattern(regexp = "[a-zA-Z]+" ,groups={One.class})
    @Length(max = 10,groups={One.class})
    private String firstName;
}