【发布时间】:2014-03-23 03:07:15
【问题描述】:
我有一个同时具有外键和唯一键约束的数据库表。为了在数据库表中进行更改,我正在使用使用休眠的 java 应用程序。更准确地说,我正在做Session.save() 对数据库表进行更改。我的代码如下所示。
try{
transaction.begin();
------logic-------
session.save();
transaction.commit();
}catch(ConstarintViolationException exception){
---here is problem------
}
如果发生任何类型约束冲突,hibernate 会抛出名为ConstraintViolationException 的相同异常。
我的问题是我应该怎么做才能确定是什么约束导致了异常。我试过做
exception.getConstraintName()
但不幸的是,我得到了null 作为输出。
我想区分这两种情况,因为我想在将休眠异常发送给客户端之前将其转换为我自己的异常。
【问题讨论】:
标签: java mysql database hibernate spring-jdbc