hibernate查询的数据与数据库中的数据部同步问题

在数据库中增加ID相同的一条数据后,数据库里可以看出已经增加成功,但我用hibernate以下两种方法查询相同ID的数据时,得到的还是之前查询的数据,新增加的时间没有被找出来,第二种我ssion.flush();还是没有新增的数据,这是为什么?怎么解决呢?
谢谢哪位能指点一下我,谢了。
public ResultInfo findCategoryBlockByBlockId(
Integer blockId,PageInfo pageInfo) {
StringBuffer hql = new StringBuffer();
hql.append("from BlkCategoryBlock b where b.blkBlock.blockId=");
hql.append(blockId);
hql.append(" order by b.id desc");
return find(hql.toString(), pageInfo);
}

public List findCategoryBlockByBlockId(Integer blockId) {
StringBuffer hql = new StringBuffer();
Session session=this.getHibernateTemplate().getSessionFactory().getCurrentSession();
Query query=session.createQuery("from BlkCategoryBlock b where b.blkBlock.blockId=? order by b.id desc");
query.setParameter(0,blockId);
List list=query.list();
session.flush();
return list;
}

4个回答

发分咯~~~~

有没有对事物进行提交?

你flush了去数据库里面看看,有没有增加,如果没有
1.报错了,错误没打印出来
2.未提交事务

你用了缓存吧

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐