为电子邮件存在创建自定义hibernate验证批注

为电子邮件存在创建自定义hibernate验证批注,hibernate,spring,jakarta-ee,bean-validation,hibernate-validator,Hibernate,Spring,Jakarta Ee,Bean Validation,Hibernate Validator,我想知道是否可以定制hibernate验证注释 这将在数据库中检查电子邮件是否存在(如果电子邮件存在,则调用dao方法并返回true) 所以我可以这样做: @NotBlank(message = "email is required") @Email(message = "{invalid.email}") @EmailExist(message = "{email.exist}") @Column(name = "email", length = 155, nullable =

我想知道是否可以定制hibernate验证注释 这将在数据库中检查电子邮件是否存在(如果电子邮件存在,则调用dao方法并返回true)

所以我可以这样做:

    @NotBlank(message = "email is required")
@Email(message = "{invalid.email}")
    @EmailExist(message = "{email.exist}")
@Column(name = "email", length = 155, nullable = false)       
private String email;

如果可能,请提供一个示例,提前感谢。

是的,这应该是可能的,您只需要实现自定义注释验证程序实现

如果您使用RealAspectJ并用
@Configurable
注释类,那么您可以像在其他Springbean中一样使用
@Inject

@见:

  • 弹簧可配置:
  • 第2章约束定义

    • 不需要AspectJ magic。如果您使用的是spring,只需@Autowire-注释字段,spring就会注入DAO。参见Spring参考:

      默认情况下,LocalValidatorFactoryBean配置 SpringConstraintValidatorFactory,使用Spring创建 ConstraintValidator实例。这允许您进行自定义 约束验证程序从依赖项注入中获益 其他的春豆


      因此,您唯一的工作就是编写自定义注释。在网上很容易找到样品

      Spring可配置的例子有吗?Spring roo充分利用了它。所以你只需要用一个entiti设置一个SpringRoo项目。entiti将使用该注释。是否提供一个示例?