我们使用Spring MVC,Jackson用于json,Hibernate ORM。我们需要添加前端验证。我遇到了hibernate验证器。
我们有一组使用JPA注释的Domain类[DO classes]。 我们有另一组POJO类[DTO类]注释为Json绑定。
我们希望实施执行以下操作的基础架构:
例如,而不是以下内容:
PersonDTO{
@NotNull
@Size(min=2, max=60)
private String firstName;
}
怎么样:
PersonDTO{
@MapsTo(com.xyz.domain.PersonDO.firstName.Size) // referring to the JPA annotation
private String firstName;
}
然后,自定义验证器通过查看JPA注释来确定要维护的约束。
我概述的策略是一种典型的方法吗?任何反馈或意见表示赞赏。你能指点我相关的任何文章吗? 谢谢。
答案 0 :(得分:0)
在Hibernate Validator中没有用于将约束从一个模型复制到另一个模型的开箱即用功能,但您可以使用现有API自行实现它。
更具体地说,有retrieving constraint metadata的API(由Bean Validation标准化)和运行时类型dynamically putting constraints的API(由Hibernate Validator提供)。您可以使用前者来读取域模型的约束,并使用后者驱动在DTO模型上创建等效约束。为此,您当然需要一种策略来匹配源模型和目标模型的相应类型和属性。