3

私の設定は 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>
4

1 に答える 1

4

RESOURCE_LOCALEntityManagerHibernate ではなく、JPA にのみ適用されSessionFactoryます。Hibernate の Spring 統合は、JPA との統合よりもかなりスムーズであるため、トランザクションの動作を決定する唯一のことは、使用するトランザクション マネージャー (HibernateTransactionManagerまたはJtaTransactionManager) だけです。を明示的に設定しなくても、どちらでも動作しますSessionFactory

于 2009-12-27T10:57:47.430 に答える