【发布时间】:2013-11-27 04:55:21
【问题描述】:
在我的表中,我有一个唯一的约束。 在休眠中,当我添加一个违反该约束的项目时,我想捕获它,所以它将更新而不是创建一个项目。
当我没有设置 try-catch 块时
updated = query.executeUpdate();
出现以下错误
Caused by: org.hsqldb.HsqlException: integrity constraint violation: unique constraint or index violation: WEEKROOSTERITEMUNI
当我设置以下 try-catch 块时
try {
updated = query.executeUpdate();
}
catch(PersistenceException e){
LOG.debug("this is PersistenceException exception throw");
}
出现以下错误
Caused by: javax.persistence.RollbackException: Transaction marked as rollbackOnly
当我捕获“ConstraintViolationException”时,我只是不断收到约束异常,它没有捕获任何东西。
Caused by: org.hsqldb.HsqlException: integrity constraint violation: unique constraint or index violation: WEEKROOSTERITEMUNI
我怎样才能捕捉到这个?
【问题讨论】:
-
建议通过这个链接在 SO [SO Link][1] [1]: stackoverflow.com/questions/2167730/…
标签: hibernate exception rollback unique-constraint hibernateexception