喂。 由于我似乎无法在我的dao中使用spring DataAccessException转换机制,我想知道是否可以翻译
Internal Exception: java.sql.SQLException: [BEA][Oracle JDBC Driver][Oracle]ORA-00001: unique constraint (JSP_OWN.IDX_MC_CC_RAPPORTI_02) violated
手动到DataAccessException层次结构。
亲切的问候 马西莫
答案 0 :(得分:1)
如果您有JdbcTemplate
,则可以
catch (SqlException e) {
throw jdbcTemplate.getExceptionTranslator().translate("my task", null, e);
}
如果您没有JdbcTemplate
,请查看JdbcTemplate.getExceptionTranslator()
方法的源代码:
public synchronized SQLExceptionTranslator getExceptionTranslator() {
if (this.exceptionTranslator == null) {
DataSource dataSource = getDataSource();
if (dataSource != null) {
this.exceptionTranslator = new SQLErrorCodeSQLExceptionTranslator(dataSource);
}
else {
this.exceptionTranslator = new SQLStateSQLExceptionTranslator();
}
}
return this.exceptionTranslator;
}
模仿它的行为: - )