阅读摘要:
问题一:Spring中使用如下代码配置以后,单独使用 @Transactional
注释时,事务传播模式被设置成什么呢?只读标志被设置成什么呢?事务隔离级别的设置是怎样的?
java代码片段
public class TradingServiceImpl {
@PersistenceContext(unitName="trading") EntityManager em;
@Transactional
public long insertTrade(TradeData trade) throws Exception {
em.persist(trade);
return trade.getTradeId();
}
}
配置文件代码片段
<tx:annotation-driven transaction-manager="transactionManager"/>
答案:在单独使用不带任何参数的@Transactional
注释时,传播模式要设置为 REQUIRED
,只读标志设置为 false
,事务隔离级别设置为 READ_COMMITTED
,而且事务不会针对受控异常(checked exception)回滚。