在实体属性中,我将其设为唯一:
@Entity
@Table(name = "role")
public class Role {
@Id
@Column(unique=true)
private String role_code;
...
}
但是在运行时插入新记录时,不会引发异常,也不会引发控制台!虽然数据库已正确设置,因为role_code列是varchar2主键:
@RequestMapping(value = "/save", method = RequestMethod.POST)
public ModelAndView save(@ModelAttribute("role_details") Role role) {
roleDao.saveOrUpdate(role);
return new ModelAndView("redirect:/adminrole/");
}
那么如何在实体层面强制执行唯一约束呢?
答案 0 :(得分:0)
尝试:
@Entity
@Table(name = "role", indexes = {@Index(name = "some_index_name", columnList = "role_code", unique = true})
public class Role { ... }