尽管@Transactional的readOnly = true,但仍会插入Oracle 11g

时间:2014-05-02 08:36:33

标签: spring oracle hibernate

我通过Spring配置文件注入的hibernateSessionFactory LocalSessionFactoryBean在Oracle 11g中插入值。 DAO类的插入方法有@Transactional(propagation = Propagation.REQUIRED,readOnly = true)。用于插入的方法是org.hibernate.Session.persist和flush 为什么插入会在事务的readOnly = true时发生?

提前致谢, Kakoli

1 个答案:

答案 0 :(得分:2)

直接来自the javadoc

  

public abstract boolean readOnly

     

如果事务是只读的,则为true。默认为false。

     

这只是实际交易子系统的提示;它不一定会导致写访问尝试失败。当被要求进行只读事务时,无法解释只读提示的事务管理器不会抛出异常。