Java 实体字段条件不是必需的

Java 实体字段条件不是必需的,java,spring,hibernate,entity,Java,Spring,Hibernate,Entity,我有一个包含如下数据的表单:name,description,meta\u title,meta\u关键字,meta\u description。 在实体类中,我添加了以下验证: @NotBlank(message = "{name.notblank}") @Size(min = 2, max = 250, message = "{name.size}") @Column( name = "pgs_name") private String name; @NotBlank(message =

我有一个包含如下数据的表单:
name
description
meta\u title
meta\u关键字
meta\u description
。 在实体类中,我添加了以下验证:

@NotBlank(message = "{name.notblank}")
@Size(min = 2, max = 250, message = "{name.size}")
@Column( name = "pgs_name")
private String name;

@NotBlank(message = "{description.notblank}")
@Size(min = 10, message = "{description.size}")
@Column( name = "pgs_description")
private String description;

@Nullable
@Size(min = 2, max = 250, message = "{meta_title.size}")
@Column( name = "pgs_meta_title")
private String meta_title;

@Nullable
@Size(min = 2, max = 250, message = "{meta_keywords.size}")
@Column( name = "pgs_meta_keywords")
private String meta_keywords;

@Nullable
@Size(min = 2, max = 250, message = "{meta_description.size}")
@Column( name = "pgs_meta_description")
private String meta_description;
我想要的是,例如,如果字段
meta\u title
已完成,则检查是否遵守以下条件:
@Size(min=2,max=250,message=“{meta\u title.Size}”)
,否则如果未完成任何操作,则没有问题,数据库中的字段将为空

问题在于hibernate不关心
@Nullable
,它会使用
@Size
注释自动验证字段

那么,我可以用什么注释来解决我的问题呢?
谢谢

您可以编写自定义验证注释和实现
ConstraintValidator
的类。通过重写其
isValid
方法,可以将自定义逻辑添加到自定义注释中。查看示例