<!-- 配置事务的核心管理器 -->
<bean name="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="SessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 配置注解设置事务管理 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
使用注解:
@Transactional(isolation=Isolation.REPEATABLE_READ,propagation=Propagation.REQUIRED,readOnly=true)
public class PersonServiceImpl implements PersonService{
@Resource(name="personDao")
private PersonDao personDao;
@Override
@Transactional(isolation=Isolation.REPEATABLE_READ,propagation=Propagation.REQUIRED,readOnly=false)
public void service(Person p) {
System.out.println("调用service方法");
personDao.save(p);
}
}
@Transactional这个注解就代表调用下方的方法会自动开启事务
如果对数据库的操作没有开启事务,那么操作只有读的权限,没有写的权限。如果非要往里写入数据就会报这个异常
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode