开发者社区> 问答> 正文

hibernate.connection.autocommit=false没有效果

<!--Define the sessionFactory of hibernate4 -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.connection.autocommit">false</prop>
                <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext
                </prop>
            </props>
        </property>
         
    </bean>

这样配置过后DAO层里使用sessionFactory.getCurrentSession().saveOrUpdate()方法仍然可以保存到数据库.求解?

事务配置

<tx:advice id="txAdvice" transaction-manager="txManager">
        <!-- the transactional semantics... -->
        <tx:attributes>
            <!-- all methods starting with '*' are read-only -->
            <tx:method name="get*" read-only="true" />
            <!-- other methods use the default transaction settings (see below) -->
            <tx:method name="add*" propagation="REQUIRED" />
            <tx:method name="*" read-only="true" />
        </tx:attributes>
    </tx:advice>
 
    <aop:config proxy-target-class="true">
        <aop:advisor advice-ref="txAdvice"
            pointcut="execution(* 项目..*.*(..))" />
    </aop:config>

展开
收起
爵霸 2016-03-04 08:58:17 2766 0
1 条回答
写回答
取消 提交回答
  • 事务的控制是有异常时回滚。你throw new RuntimeException(); 试试就知道了

    2019-07-17 18:51:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spark SQL: Past, Present and Future 立即下载
Spark SQL:Past Present &Future 立即下载
低代码开发师(初级)实战教程 立即下载