hibernate查询出来的数据和数据库中不一致!!!

yuga 2006-10-25 03:02:26
发布成EJB,weblogic
引擎定时改变数据库中标志为01改称03
改完后,页面调用EJB查询,查出的结果还是01
修改的地方:
lpst.setFlag("03");
session.update(lpst);
session.flush();
session.evict(lpst);
trans.commit();

查询:
pqcls = session.createQuery("from com.richlottery.core.beans.hibernate.LeLottperiod as Lottperiod " +
"where Lottperiod.lotterycode=:lotteryCode and Lottperiod.flag=:flag");
pqcls.setParameter("lotteryCode", lotteryCode);
pqcls.setParameter("flag", "03");
pclslist = pqcls.list();

这条数据是用"03"查出来的(数据库中也是03,改好了),但是
String strFlag = period.getFlag();
System.out.println(strPeriodNo + " 标志位:" + strFlag);
打印出来的是"01"
就是说:我用03查出的记录,读的时候里面是01

想不通
...全文
459 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
longququ 2006-10-26
  • 打赏
  • 举报
回复
hibernatUtil.closeSession()

如果不关闭会不会有影响啊?
上次见我同事边上做好像也有这个问题
单纯用commit没有提交到db
yuga 2006-10-26
  • 打赏
  • 举报
回复

HibernateUtil.closeSession();
肯定有的,
session.evict(lpst);这个不能加,加了数据库都不改了
killme2008 2006-10-26
  • 打赏
  • 举报
回复
猜测应该是事务处理有问题,读取脏数据了

67,512

社区成员

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

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