在做ssh2项目的时候出现了hibernateSystemException错误
我用的数据库是mysql
事务的管理是
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="Tproxyfactory" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="query*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED</prop>
<prop key="mod*">PROPAGATION_REQUIRED,-Throwable</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>在做表修改的时候却没有修改成功估计是<bean id="Tproxyfactory" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
                   </bean>
配置有问题
要怎样配置才可以避免出现这样的问题呢

解决方案 »

  1.   


     <bean id="Tproxyfactory"     
                class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"     
                 lazy-init="true" abstract="true">     
             <!-- 配置事务管理器 -->     
             <property name="transactionManager" ref="transactionManager" />       
         </bean>        
      

  2.   

    给你个例子
    <bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
    </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <tx:attributes>
                <tx:method name="find*" propagation="NEVER" read-only="true"/>
                <tx:method name="insert*" propagation="REQUIRED" />
                <tx:method name="update*" propagation="REQUIRED" />
            </tx:attributes>
        </tx:advice>
        
        <aop:config>
            <aop:pointcut id="interceptorPointCuts"
                expression="execution(* org.ssh2.service.*.*(..))" />
            <aop:advisor advice-ref="txAdvice"
                pointcut-ref="interceptorPointCuts" />        
        </aop:config>   
      

  3.   

    楼上的用这个列子弄了多少分啦,哈哈,是你写的不?楼主的问题,是事物配置不正确,看看你的源代码,和spring的配置文件
      

  4.   


    嘿嘿    
    自己写的例子 测试过  
    保存  以后谁用直接copy出来  哈哈
      

  5.   

    配置没有问题,好像是我要修改的对象在缓存里面没有了在报错误的。后来我直接在一个Dao里做查询并且修改就没有错误了,如果是从一个Dao里面查询出来修改在另一个Dao里面保存这样的话就出现错误了,意思好像是说在前一个Dao里面查询到对象后那一个session关闭了然后再另一个Dao来修改的时候缓存里面没有了该东西就报错误了。