使用值对象进行Spring MVC表单验证

使用值对象进行Spring MVC表单验证,spring,hibernate,validation,value-objects,Spring,Hibernate,Validation,Value Objects,在执行SpringMVC+Hibernate验证时,ValueObject产生了一个问题。我不允许在控制器中直接使用实体对象,因此将为每个实体创建ValueObject 但现在我需要验证,我需要将@Valid注释直接映射到控制器中的实体,这是不允许的。因此,我需要使用ValueObject验证我的实体 以下是我的控制器方法: @RequestMapping(value = "/saveOperatorDetails", method = RequestMethod.POST) public St

在执行SpringMVC+Hibernate验证时,ValueObject产生了一个问题。我不允许在控制器中直接使用实体对象,因此将为每个实体创建ValueObject

但现在我需要验证,我需要将
@Valid
注释直接映射到控制器中的实体,这是不允许的。因此,我需要使用ValueObject验证我的实体

以下是我的控制器方法:

@RequestMapping(value = "/saveOperatorDetails", method = RequestMethod.POST)
public String saveOperatorDetails(@ModelAttribute("operatorDetails") @Valid OperatorVO operatorVO,  BindingResult result) {

    if (result.hasErrors()) {
        return "admin.operator.registeroperator";
    }
}
现在,如果我使用我的实体,
操作符
我的验证成功了


但是ValueObjec(VO)不能直接验证Hibernate实体。现在我该如何将
ValueObject
映射到
Entity

所以我发现,验证
@Valid
是指我的
操作符vo
。因此,我没有验证我的
实体
,而是验证了我的
值对象


但现在,我正在验证我的VO,而不是我的实体。这是一种好的做法吗?我不这么认为。如果有人提供答案,请随时发布。谢谢大家!

我认为这是正确的做法。为什么这会是一个坏习惯?Thanx,@WilQu那么,我该怎么办?我应该在两个(VO和实体)上都进行验证,还是仅仅进行VO验证就足够了?我会说VO验证已经足够了,但是您可能需要检查实体的完整性并对其进行验证。这取决于你。