代码之家  ›  专栏  ›  技术社区  ›  Dhana

Bean验证-java中列表的JSR-303 DuplicateItemCheck

  •  1
  • Dhana  · 技术社区  · 7 年前

    是否有任何标准的bean验证注释来检查java中集合中的重复项。 或者任何人都可以使用bean验证实现自定义验证来检查列表中的重复项。

    例如

    
    
        public class MySecurityRequest{
            private Date dob;
    
            @DuplicateNotAllowed
            private List securityQuestions;
        }
    
        public class SecurityQuestion{
          private String question;
          private String answer;
        }
    
    

    在这里,我需要确保问题不会在列表中重复。 有人面临类似的问题吗?

    2 回复  |  直到 7 年前
        1
  •  6
  •   Guillaume Smet    7 年前

    啊啊,你问得真有趣。我们刚刚在Hibernate验证器中添加了@UniqueElements注释(PR今天被合并)- https://github.com/hibernate/hibernate-validator/pull/879 ).

    它将是6.0.5的一部分。我们计划明天发布的最终版本。

    注意,它不是一个标准约束(即,它不在Bean验证中),但它将由HV开箱即用支持。

    您应该能够将HV 6与Spring一起使用:它应该兼容。只需小心您的依赖关系(您的依赖关系中不能同时有两个版本-HV 5和6的组ID不同-还要小心javax.el依赖关系-请参阅 https://github.com/hibernate/hibernate-validator#using-hibernate-validator 详细信息)。

        2
  •  0
  •   Tharun    7 年前

    使用集合。并在SecurityQuestion类上重写和实现hashcode()和equals()方法,以帮助集合识别重复项。