2010-03-03 52 views
1

我在Spring以外的DAO中使用JPA。 Spring框架定義了獨立於數據庫實現的DataAccessException。非Spring用戶使用Spring數據訪問異常而不是JPA有什麼優勢?我猜Spring數據訪問異常存在,因爲Spring處理幾個底層(如Hibernate,Jpa,jdo,jdbc),並且只有當我的應用程序有使用多種技術的DAO時,Spring數據訪問異常堆棧纔有用通用的標準接口(如JPA)。使用Spring DataAccessExceptions而不是JPA PersistenceExceptions有什麼好處嗎?

我對不對?

回答

2

我會說你幾乎沒有。另一個優點是DataAccessExceptions(CleanupFailure,SQLGrammar等等)不在我頭頂,所以DAO可以被編程爲明確地捕獲您可能期望的特定異常。

但是,由於您通常不會期望發生數據訪問錯誤,因此通常不會將其取消,因此通常不需要DataAccessException的完整目的。我曾經是DataAccessException層次結構的狂熱粉絲,但實際上我很少需要它,所以我現在很樂意處理原始JPAException)。

相關問題