【发布时间】:2015-06-23 11:31:39
【问题描述】:
我使用 jpa 和 hibernate 来持久化我的数据。我的模型是
@Entity
@Table(name = "user", uniqueConstraints=@UniqueConstraint(columnNames={"username"}, name="username"))
public class User implements Serializable {
@Transient
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(name = "username", nullable = false)
private String username;
@Column(name = "password", nullable = false)
private String password;
@Column(name = "user_role", nullable = false)
private UserRole userRole;
}
我正在捕获 ConstraintViolationException 以捕获用户是否违反了唯一值。但是当我尝试使用 ConstraintViolationException.getConstraintName() 访问 constraintName 时,我得到了 null 值。我如何知道哪一列违反了约束从而警告用户?
【问题讨论】: