不考虑列注释的唯一参数

时间:2016-11-04 15:46:36

标签: spring

在实体属性中,我将其设为唯一:

@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/");

}

那么如何在实体层面强制执行唯一约束呢?

1 个答案:

答案 0 :(得分:0)

尝试:

@Entity
@Table(name = "role", indexes = {@Index(name = "some_index_name", columnList = "role_code", unique = true})
public class Role { ... }
相关问题