手动向mysql数据库插入数据,hibernate查询出来没有新插入数据,如何解决?(原创)...

数据库: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管理界面手动插入的数据,刷新页面的时候,就可以显示出来了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值