javax.validation-验证上下文(用于缓存)
我使用Hibernate验证器运行javax.validation API定义的验证约束。一切都在春天里运行 我定义了自定义约束:javax.validation-验证上下文(用于缓存),java,spring,hibernate,validation,Java,Spring,Hibernate,Validation,我使用Hibernate验证器运行javax.validation API定义的验证约束。一切都在春天里运行 我定义了自定义约束: @项目存在 @项目活动 @项目可评论 以及我的自定义验证器,这些验证器涵盖了上述约束 现在,我想验证以下DTO: public class Comment { private String content; @ProjectExists @ProjectActive @ProjectCommentable private String pr
- @项目存在
- @项目活动
- @项目可评论
public class Comment {
private String content;
@ProjectExists
@ProjectActive
@ProjectCommentable
private String projectName;
}
问题是每个验证器都必须运行数据库查询、查找项目并对其进行处理
我正在寻找解决方案,允许缓存项目,以前发现。最好的解决方案是在所有验证器之间共享类似“验证上下文”的内容,这样我就可以将项目设置为验证上下文
下一个问题是,在验证之后,DTO被转换为数据模型,因此必须再次调用“findprojectquery”。在这里也可以重用缓存的项目