Java 如何获取EntityExistsException上违反的字段?

Java 如何获取EntityExistsException上违反的字段?,java,validation,jpa,openjpa,Java,Validation,Jpa,Openjpa,我在字段上有@UniqueConstraint和@Column(unique=true)注释 @Table( name = "my_table", uniqueConstraints = { @UniqueConstraint( columnNames = "name" ) } ) @Column(unique=true) private String name; 当我违反唯一约束时,我会得到EntityExistsException。看起来这个类没有任何方法可以在不通过几层异常进行解析并

我在字段上有@UniqueConstraint和@Column(unique=true)注释

@Table( name = "my_table", 
uniqueConstraints = { @UniqueConstraint( columnNames = "name" ) } )

@Column(unique=true)
private String name;
当我违反唯一约束时,我会得到EntityExistsException。看起来这个类没有任何方法可以在不通过几层异常进行解析并随后解析异常消息的情况下获取空字段

是否有一种非特定于实现的方法来获取违反了哪个字段,以及它与哪个记录的唯一性冲突?作为参考,我使用OpenJPA2.4.1和Oracle(但我正在寻找一个非特定于实现的解决方案)


谢谢。

由于EntityExistsException除了消息和原因之外没有其他内容,因此将不会有独立于实现的方式,因为他们都会发布他们想要的任何消息并提供他们想要的任何原因。除此之外,每个数据库都有其自身的原因异常,这与其他数据库不同。幸好这些标准不是吗?该死,我也这么想。谢谢你的提示。