2009-08-07 56 views

回答

4

如果通過HibernateTemplate執行Hibernate調用,那麼Spring會將任何Hibernate異常(例如ConstraintViolationException)轉換爲Spring異常層次結構(例如DataIntegrityViolationException)。如果你不使用HibernateTemplate,那麼原生的Hibernate異常將會通過。兩者都是RuntimeExceptions,所以不需要明確的異常處理,所以並不總是很明顯你會看到哪一個。

+0

我沒有使用'HibernateTemplate',但是隻有當主鍵被違反時纔得到Spring的包裝異常。其他唯一鍵衝突導致Hibernate的異常。代碼是相同的 - 只有被違反的密鑰的類型很重要。 – 2012-06-13 00:49:43

+0

您是否在您的DAO上使用@Repository註釋? – cyotee 2016-12-30 15:22:53

相關問題