【问题标题】:spring hibernate configuration using resource_local or jta by default?默认情况下使用resource_local或jta进行spring hibernate配置?
【发布时间】:2009-12-27 03:24:25
【问题描述】:

我可以知道我的配置是直接在 applicationContext.xml 上完成的,我没有 persistence.xml。默认情况下这是 resource_loca 还是 jta?如果我想使用jta,我需要添加额外的参数吗?

<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>oracle.jdbc.driver.OracleDriver</value>
        </property>
            <!-- xdb is defined by running the hsqldb as xdb (see above) -->
        <property name="url">
            <value>jdbc:oracle:thin:@theserver:1521:appsdb</value>
        </property>
        <property name="username">
            <value>test</value>
        </property>
        <property name="password">
            <value>test</value>
        </property>
    </bean>




<bean id="annotatedsessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">


    <property name="packagesToScan" value="com.company.x.model" >
    </property>


    <property name="hibernateProperties">
        <props>

            <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.format_sql">true</prop>
            <prop key="hibernate.use_sql_comments">true</prop>
            <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
            <prop key="hibernate.hbm2ddl.auto">update</prop>
            <prop key="hibernate.c3p0.min_size">5</prop>
            <prop key="hibernate.c3p0.max_size">20</prop>
            <prop key="hibernate.c3p0.timeout">1800</prop>
            <prop key="hibernate.c3p0.max_statements">50</prop>
            <prop key="hibernate.cache.provider_class">
                  com.company.x.services.ExternalEhCacheProvider
            </prop>
            <prop key="hibernate.cache.use_second_level_cache">true</prop>
            <prop key="hibernate.cache.use_query_cache">true</prop>



        </props>
    </property>
    <property name="dataSource">
        <ref bean="dataSource" />
    </property>

</bean>

【问题讨论】:

    标签: java hibernate spring persistence jta


    【解决方案1】:

    RESOURCE_LOCAL 仅适用于 JPA EntityManager,不适用于 Hibernate SessionFactory。 Hibernate 的 Spring 集成比 JPA 更顺畅,因此唯一决定事务行为的是您使用的事务管理器(HibernateTransactionManagerJtaTransactionManager)。无需显式配置SessionFactory,它就可以与其中任何一个一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-21
      • 1970-01-01
      • 2018-12-13
      • 1970-01-01
      • 2020-03-12
      • 2012-02-29
      • 1970-01-01
      • 2019-10-22
      相关资源
      最近更新 更多