ssh 中 hibernate 数据同步问题.内存和数据库中数据不一样

我的项目是很多人一起用,以老师和学生举例1刚开始的时候读取了数据我通过hibernate这么读的teacher.getStudents();由于懒加载,会产生一条hql语... 我的项目是很多人一起用,以老师和学生举例
1 刚开始的时候读取了数据
我通过hibernate这么读的 teacher.getStudents();
由于懒加载,会产生一条hql语句来读取这个老师的所有学生
(我看hibernate教程是因为teacher的students由于没有数据,由hibernate生成的一个临时类填充了,当执行这条语句的时候,这个临时类就执行了查询,并把真正的查询结果给teacher)

2 过一段时间
系统管理员Admin给这个老师添加了成员,数据库中有记录,teacher这个类保存在http session中。

3在过一段时间
我通过teacher.getStudent()获取这个老师所有学生,发现学生还是和之前的一样,但是不符合数据库中的最新数据,也就是说,现在teacher中的数据不是最新数据

问 1:在第三步中,会不会产生一次查询,还是说,直接调用getStudent()函数,这时候是不是没有hibernate临时类了?
2: 有什么方法解决这个数据不同步的问题,有什么办法能让内存中数据和数据库中保持一致?
展开
 我来答
巫难天地难m
2015-01-11 · TA获得超过263个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:137万
展开全部
给你提供2个方向考虑下!一、可能是hibernate的缓存机制问题;二、可能是数据库的隔离级别的问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式