0

在使用 spring + hibenate 和 Websphere 服务器时,我得到了这个异常

org.hibernate.TransactionException: Could not register synchronization

spring 配置文件中的休眠属性是

<props>
    <prop key="hibernate.dialect">org.hibernate.dialect.DB2Dialect</prop>
    <prop key="hibernate.generate_statistics">true</prop>
    <prop key="hibernate.show_sql">false</prop>
    <prop key="hibernate.connection.datasource">jdbc/jndiName</prop>
    <prop key="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</prop>
    <prop key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.WebSphereExtendedJTATransactionLookup</prop>

    <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
    <prop key="hibernate.connection.aggressive_release">false</prop>
    <prop key="hibernate.connection.release_mode">after_transaction</prop>
    <prop key="hibernate.connection.autocommit">true</prop>
    <prop key="hibernate.connection.pool_size">5</prop>
    <prop key="hibernate.current_session_context_class">thread</prop>
    <prop key="hibernate.cache.use_query_cache">true</prop>
    <prop key="hibernate.cache.use_second_level_cache">true</prop>  
</props>
4

1 回答 1

0

WebSphere 本身处理其数据源的所有池和缓存级别。所有与 JDBC 相关的配置都可以通过 WebSphere 管理控制台执行。所以写

<props>
    <prop key="hibernate.dialect">org.hibernate.dialect.DB2Dialect</prop>
    <prop key="hibernate.generate_statistics">true</prop>
    <prop key="hibernate.show_sql">false</prop>
    <prop key="hibernate.connection.datasource">jdbc/jndiName</prop>
    <prop key="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</prop>
    <prop key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.WebSphereExtendedJTATransactionLookup</prop>
</props>

春天就够了。

于 2012-11-12T07:58:20.740 回答