一尘不染

捕获重复条目异常

hibernate

我如何捕获此异常:

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: 
                                      Duplicate entry '22-85' for key 'ID_CONTACT'

阅读 192

收藏
2020-06-20

共1个答案

一尘不染

我用弹簧,所以我们通过 org.springframework.dao.DataIntegrityViolationException

try {
    ao_history_repository.save(new AoHistory(..));
} catch (DataIntegrityViolationException e) {
    System.out.println("history already exist");
}

但是就像@KevinGuancheDarias提到的那样:

请注意,虽然这可行。 我建议通过在save之前发出findBy来解决该问题
,因为这很麻烦,我认为不保证它将在将来的版本中使用,甚至可能在没有通知的情况下中断。

2020-06-20