一遍又一遍地问/提到这个问题,但我找不到我做错了什么或者问题是“真实的”:我有一个用于简单 Oracle 表的实体类,其中有一个字段应该是唯一的. 它在数据库中有一个独特的约束。在实体定义中,我添加了 JPA 注释 -
@Entity
@Table(name = "tbl", uniqueConstraints = @UniqueConstraint(columnNames = "uni_field"))
public class MyTable implements Serializable {
...
@Column(name = "uni_field", unique = true)
@NotNull(message = "Field is required.")
private String field;
...
我正在使用 JBoss 问题是我总是以休眠异常结束,如果我想知道约束违规,这会将我与 JPA 实现联系起来。有没有办法在这种情况下捕捉持久性异常并提供用户友好的消息?如果不是,那么@Column(name = "uni_field", unique = true)
or有什么用uniqueConstraints = @UniqueConstraint(columnNames = "uni_field")
?