【发布时间】:2020-03-22 14:28:42
【问题描述】:
我的项目中有一些代码,那么如果使用 @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>
【问题讨论】:
-
这个注解的封装是什么?没见过
-
这是一个习惯
标签: java spring hibernate transactions hibernate-entitymanager