整合SSH框架的时候出的问题:
Hibernate配置:<!-- configure hibernate SessionFactory  -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- methods starting tx, just as 'save', 'update' or 'remove' use the default transaction settings -->
<tx:method name="tx*" rollback-for="Exception"/>
<!-- other methods are set to read only -->
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
Dao类:public class GenericHibernateDao extends HibernateDaoSupport implements
GenericDao { public GenericHibernateDao(){}

@Override
public void delete(Object t) {
this.getHibernateTemplate().delete(t);
} @Override
@SuppressWarnings("unchecked")
public List loadAll(Class clazz) {
return this.getHibernateTemplate().loadAll(clazz);
}
@Override
public void save(Object t) {
this.getHibernateTemplate().save(t);
} @Override
public void update(Object t) {
this.getHibernateTemplate().update(t);
}}
问题:
通过接口存储,删除,读取都能成功执行。但是通过sql语句查询数据库发现没有任何变化,数据库为空。
tomcat重启的时候这些数据就丢失,(可能是放在缓存里没有提交)。
我手动this.getHibernateTemplate().flush()也没有任何效果。
请高手帮帮忙是什么问题导致的?

解决方案 »

  1.   

        <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <tx:attributes>
                <!-- methods starting tx, just as 'save', 'update' or 'remove' use the default transaction settings -->
                <tx:method name="tx*" rollback-for="Exception"/>
                <!-- other methods are set to read only -->
                <tx:method name="*" read-only="true" />
            </tx:attributes>
        </tx:advice>声明式事务配置的不对~!
      

  2.   


    <aop:config>
    <aop:pointcut expression="execution(* com.*.service.impl.*.*(..))" id="txPoint"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
    </aop:config>
      

  3.   

    你只是配置了 advice  并没有织入到切入点