try { getDao().insert("yh00_sbxxdb.insert_yh00_sbxxdb", dto); } catch (DataIntegrityViolationException e) { if (e.getCause().getCause() instanceof SQLException) { SQLException sqlE = (SQLException) e.getCause().getCause(); if (sqlE.getErrorCode() == 1) {// ORACLE主键冲突异常代码 getDao().update("yh00_sbxxdb.update_yh00_sbxxdb", dto); } } }
场景:像一张表里面插入数据,当出现主键冲突,我们就更新这条数据
如果异常放大了就会就是一个bug,那么事务管理就会失效。
适当耦合应该可以吧(答曰还不知道,自己先包装这个异常)