在插入Spring Hibernate之前检查重复

时间:2015-07-04 14:20:58

标签: java spring hibernate

如何基于两列(即州和期间)验证新条目?

控制器:

@RequestMapping(value="/saveMOH731", method=RequestMethod.POST)
public String create(@ModelAttribute("newMOH731")MOH731 moh731, BindingResult result, SessionStatus status)
{
    validator.validate(moh731, result);
    if (result.hasErrors()) 
    {               
        return "newMOH731";
    }
    moh731sDAO.save(moh731);
    status.setComplete();
    return "redirect:viewAllMOH731.do";
}

验证

@Override
public void validate(Object model, Errors errors)
{
    ValidationUtils.rejectIfEmptyOrWhitespace(errors, "state","required.state", "State is required.");
}

1 个答案:

答案 0 :(得分:1)

  1. 您可以在要具有唯一性的属性上添加唯一约束,Spring会自动抛出唯一ConstraintViolationException。此后你可以抓住它。

  2. 或者在保存新条目之前,您可以尝试在数据库中找到此条目,如果您没有找到它,或者如果您发现它处理了这种情况。