Hibernate 查询数据为何和数据库不一致?

通过Hibernate查询出某条数据,但是我直接从数据库改了该数据,然后刷新原来页面,仍然显示原来旧的数据,只有重新启动Tomcat才能显示新的数据,请问为什么?

第1个回答  2013-09-24
hibernate自身的缓存问题,查询数据时hibernate将查询出的数据保存起来,当你的第二次查询语句与上次的一样,hibernate就不会去数据库中查询,而是直接把保存的数据拿出来用,所以就导致了查询结果与数据库不一致的问题。解决办法是不用缓存

Hibernate 查询数据为何和数据库不一致?
hibernate自身的缓存问题,查询数据时hibernate将查询出的数据保存起来,当你的第二次查询语句与上次的一样,hibernate就不会去数据库中查询,而是直接把保存的数据拿出来用,所以就导致了查询结果与数据库不一致的问题。解决办法是不用缓存

hibernate有时可以保存数据有时不能保存数据,包括它的查询有时候查询的...
你创建了session1,session2.在request1中使用session1添加了数据user1,在request1结束后的另一个请求中使用了session2查询user1,可能就会查询不到你上个请求中所保存的数据(数据已存在数据库中).

实体类名与数据库表名不一致的查询问题。请大家来解决下。谢谢_百度...
hibernate不是根据实体类名去数据库查的..而是根据实体类在配置文件中所配置的表名去查的..

hibernate 查询结果 外键数据为空 数据表有数据 怎么解决?
2,设置懒加载属性为false

为什么我的hibernate查询语句,在查询结果出来之后还会去更新数据?
不是吃饱了撑得,这个hibernate管理对象的生命周期的必然结果。假如你要从数据库查询产品 1>首先new个product对象(此时改对象为瞬态 没有纳入session管理) 2>从数据库查询获得product (此时product为持久态 即在数据库中有,内存中有 被session所管理。hibernate后台所执行的语句就是 select produc from ...

hibernate中用hql查询数据库表中更新的项无效该怎么配置呀?
字段?还是数据。如果是字段那么就是楼上说的映射文件没有将关联关系配好。如果是数据的话就有可能是hibernate设置二级缓存了,而你的数据时通过sql直接添加的。这时候hibernate并不知道你添加了数据所以不会去查数据库而是在缓存里读取。这样你就得不到你新加的数据了。

hibernate查询时查不出数据但是数据库中数据存在。具体问题见补充...
如果 你使用的mysql 数据 ,看下mysql 数据库连接串中是否加上字符编码 如下:jdbc:mysql:\/\/localhost:3306\/zxb_trade?characterEncoding=utf-8

为什么在查询数据库得到结果是不能用LIST直接接受而是要用ResultSet...
上面只是一个方面,另一方面,除了基本的ResultSet用法,在查询语句满足一定条件的情况下ResultSet还可以直接更新数据库里的数据,而直接返回list是做不到的。所以可以看出返回ResultSet比list更加灵活,作为一个底层的方法灵活性是很重要的,如果不需要用到这么多的功能,程序员可以自己封装一层返回list也很...

为什么 hibernate执行hql语句 控制台输出了语句 查不出数据 但是复制控 ...
1.首先执行了查询该操作 2.该查询操作没有问题(因为制控制台的语句在数据库里可以查出数据 )根据以上分析,可以得出如下原因:执行了查询,但是没有将查询的结果返回。参考资料:还有其他问题的话,给我发百度消息

hibernate没有实体类的情况下,怎么查询数据库中的数据?
以在接口HibernateDaoSupport 中的类中获取session查询数据库中的数据。一、Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行。二、 Hibernate可以应用在任何使用JDBC的场合,...

相似回答
大家正在搜