hibernate缓存问题

huguang 2007-08-23 09:26:22
web程序,尝试使用hibernate,现在有个问题!

手动更新数据库,web显示不出来!应该是hibernate缓存的问题!

网上查了半天!没搞定
我用的是myeclipse自动生成的配置文件,dao自己手动写的!

hibernate默认的是使用缓存的吗?怎么才能不使用缓存或者清空缓存?
...全文
426 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaozhang0731 2008-05-30
  • 打赏
  • 举报
回复
junhe102
大哥!
你把session 已经close 了,怎么从页面去得到数据阿,数据得到顺序是数据库--一级缓存---二级缓存-页面
junhe102 2007-08-23
  • 打赏
  • 举报
回复
掉了一个"()",在注释获得结果集处
junhe102 2007-08-23
  • 打赏
  • 举报
回复
public List findAll() {
log.debug("finding all Node1 instances");
try {
String queryString = "from Node1";
Session session =getSession();//获得session
List list=null;
list = session.createQuery(queryString).list;//获得结果集
session.close();//关闭session
return list;
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}

}
huguang 2007-08-23
  • 打赏
  • 举报
回复
多谢
具体怎么使用呢?
有没有示例?!

比如myeclipse生成的dao中的代码
public List findAll() {
log.debug("finding all Node1 instances");
try {
String queryString = "from Node1";
Query queryObject = getSession().createQuery(queryString);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}

}

是在这里加吗?
怎么写?
jk88811 2007-08-23
  • 打赏
  • 举报
回复
同意楼上,这种问题自己看Hibernate文档
junhe102 2007-08-23
  • 打赏
  • 举报
回复
手动更新数据库,在web页面上显示不出来,估计是hibernate缓存的问题,可能你的session没有关闭,所以每次查出的结果都是在缓存中取的。hibernate有同步机制的,应该是能够辨别是否更新。
gstring 2007-08-23
  • 打赏
  • 举报
回复
是的默认用使用缓存的.
调用Session.flush();, SessionFactory.evict(class) ;SessionFactory.evict(class,id)等方法能清除缓存。

67,511

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧