?
This document uses PHP Chinese website manual Release
作為一個高級特性,JpaTemplate
、JpaTransactionManager
和
AbstractEntityManagerFactoryBean
的子類支持用戶自定義的 JpaDialect
作為"jpaDialect"的bean屬性進行注入。在這種情況下,DAO將不再接收 EntityManagerFactory
的引用
作為參數(shù),而是接收一個完整的 JpaTemplate
(也就是將它注入到 JpaDaoSupport
的"jpaTemplate"屬性中去)。JpaDialect
實現(xiàn)能夠激活一些由Spring支持的高級特性,這通常由特定的
實現(xiàn)供應(yīng)商指定:
使用特定的事務(wù)語義(例如用戶自定義的事務(wù)隔離級別和事務(wù)超時)
獲取具備事務(wù)功能的Connection對象(暴露給基于JDBC的DAO)
從 PersistenceExceptions
到Spring的 DataAccessExceptions
高級轉(zhuǎn)化
這對于特殊的事務(wù)語義和異常的高級轉(zhuǎn)化這樣的高級特性特別有價值。注意,所用的默認實現(xiàn)(DefaultJpaDialect
)
并不提供任何特殊的功能,如果需要上述的特殊功能,必須指定相應(yīng)的Dialect。
更多有關(guān)它的操作以及它如何在Spring的JPA支持中使用的詳細信息請參見 JpaDialect
的Javadoc。