簡體   English   中英

如何在春季使用@Transactional

[英]How to use @Transactional in spring

我的項目中有一些代碼,那么如果使用@Transactional而不是@CoreTransactional什么不同?

  @Target({ElementType.METHOD, ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Transactional(transactionManager = "jpaTransactionManager")
    public @interface CoreTransactional {
    }
And this is config.xml 
<!-- Transaction manager -->
    <bean id="jpaTransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="emfOracle"/>
    </bean>

<!-- Entity manager -->
    <bean id="emfOracle" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" primary="true">
        <property name="dataSource" ref="dataSourceOracle" />
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
        </property>
        <property name="packagesToScan">
            <array>
                <value>com.heb.pm</value>
                <value>com.heb.util.jpa</value>
            </array>
        </property>
        <property name="jpaProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.Oracle10gDialect
                </prop>
                <prop key="hibernate.max_fetch_depth">3</prop>
                <prop key="hibernate.jdbc.fetch_size">50</prop>
                <prop key="hibernate.jdbc.batch_size">10</prop>
                <prop key="hibernate.show_sql">${jpa.showSql}</prop>
                <prop key="hibernate.temp.use_jdbc_metadata_defaults">false</prop>
                <prop key="hibernate.default_schema">${jpa.schema.oracle}</prop>
                <prop key="hibernate.enable_lazy_load_no_trans">true</prop>
            </props>
        </property>
    </bean>

@Transactional是 Spring 事務的注解。

@CoreTransactional是使用@Transactional並使用jpaTransactionManger 注釋的自定義注釋。

我認為jpaTransactionManger還定制配置,所以你必須使用@CoreTransactional如果你想使用這個JpaTransactionManager接口

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM