|
|
|
@ -34,19 +34,19 @@ public interface PersistenceExceptionTranslator {
@@ -34,19 +34,19 @@ public interface PersistenceExceptionTranslator {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Translate the given runtime exception thrown by a persistence framework to a |
|
|
|
|
* corresponding exception from Spring's generic DataAccessException hierarchy, |
|
|
|
|
* if possible. |
|
|
|
|
* <p>Do not translate exceptions that are not understand by this translator: |
|
|
|
|
* corresponding exception from Spring's generic |
|
|
|
|
* {@link org.springframework.dao.DataAccessException} hierarchy, if possible. |
|
|
|
|
* <p>Do not translate exceptions that are not understood by this translator: |
|
|
|
|
* for example, if coming from another persistence framework, or resulting |
|
|
|
|
* from user code and unrelated to persistence. |
|
|
|
|
* from user code or otherwise unrelated to persistence. |
|
|
|
|
* <p>Of particular importance is the correct translation to |
|
|
|
|
* DataIntegrityViolationException, for example on constraint violation. |
|
|
|
|
* Implementations may use Spring JDBC's sophisticated exception translation |
|
|
|
|
* to provide further information in the event of SQLException as a root cause. |
|
|
|
|
* @param ex a RuntimeException thrown |
|
|
|
|
* @param ex a RuntimeException to translate |
|
|
|
|
* @return the corresponding DataAccessException (or {@code null} if the |
|
|
|
|
* exception could not be translated, as in this case it may result from |
|
|
|
|
* user code rather than an actual persistence problem) |
|
|
|
|
* user code rather than from an actual persistence problem) |
|
|
|
|
* @see org.springframework.dao.DataIntegrityViolationException |
|
|
|
|
* @see org.springframework.jdbc.support.SQLExceptionTranslator |
|
|
|
|
*/ |
|
|
|
|