javax.validation - 验证上下文(用于缓存目的)

时间:2015-01-06 18:07:42

标签: java spring hibernate validation

我正在使用Hibernate验证器来运行javax.validation API定义的验证约束。一切都在春季3上运行。

我定义了自定义约束:

  • @ProjectExists
  • @ProjectActive
  • @ProjectCommentable

和我的自定义验证器,涵盖了上述约束。

现在我想验证以下DTO:

public class Comment {
  private String content;

  @ProjectExists
  @ProjectActive
  @ProjectCommentable
  private String projectName;
}

问题是每个验证器都必须运行数据库查询,查找项目并使用它做一些事情。

我正在寻找允许缓存之前找到的项目的解决方案。最好的解决方案是在所有验证器之间共享类似“验证上下文”的内容,以便我可以将Project设置为验证上下文。

接下来的问题是,在验证DTO转换为数据模型之后,必须再次调用“查找项目查询”。在这里重用缓存项目会很好。

0 个答案:

没有答案