日期:2014-05-16 浏览次数:20444 次
数据库:mysql
取数据:hibernate?:
?? public List ?findAll() {
??????? Query query = session.createQuery("from user");
??????? return query.list();
??? }
我使用mysql的界面管理工具,向其中插入一条数据,在不重新启动服务器的时候,刷新页面,新插入的数据不显示。
使用hibernate的add方法添加进去的,刷新页面可以显示。
?
?
尝试:
1.将hibernate的配置文件中加入二级缓存关闭的配置
2.在hibernate里的add、findAll的方法里加入session.flush();session.evit(obj);session.clear();(清除一级缓存)
3.使用dos界面,进入mysql,insert 数据,然后commit
?
?
都不管用,必须重新启动tomcat,新数据才出来。
?
?
最后,偶然在iteye上看到个帖子:
解决了我好几天纠结的问题:
在调用findAll方法的action里加入事务提交:
public String init() {
? List users= service.listAllUser(session);
??session.getTransaction().commit();
}
这样,使用mysql管理界面手动插入的数据,刷新页面的时候,就可以显示出来了。