整合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()也没有任何效果。
请高手帮帮忙是什么问题导致的?
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()也没有任何效果。
请高手帮帮忙是什么问题导致的?
解决方案 »
- Jboss jaas 进行安全性验证在ejb3中
- struts标签
- spring security2.0如何自定义一个Filter
- Ajax实现不刷屏的前提下实现页面定时刷新的功能 ,怎么实现不了呢?
- 用java开发一个类似tomcat容器的思路是怎么样的!!谢谢
- weblogic9配置数据源出现问题
- 高分求救:怎样在EJB中使用log4j来发现程序调试信息?
- 如何用JAVA编写SNMP应用程序啊 比如做网络分析应用什么的
- 急问高手!!有关J2EE
- 已经开发完成的b/s应用,调整为满足分布式部署,求思路
- 请教spring+acegi 使用window.close后用户失效问题
- 使用google api中出现的问题~
<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>声明式事务配置的不对~!
<aop:config>
<aop:pointcut expression="execution(* com.*.service.impl.*.*(..))" id="txPoint"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
</aop:config>