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: 有什么方法解决这个数据不同步的问题,有什么办法能让内存中数据和数据库中保持一致? 展开
1 刚开始的时候读取了数据
我通过hibernate这么读的 teacher.getStudents();
由于懒加载,会产生一条hql语句来读取这个老师的所有学生
(我看hibernate教程是因为teacher的students由于没有数据,由hibernate生成的一个临时类填充了,当执行这条语句的时候,这个临时类就执行了查询,并把真正的查询结果给teacher)
2 过一段时间
系统管理员Admin给这个老师添加了成员,数据库中有记录,teacher这个类保存在http session中。
3在过一段时间
我通过teacher.getStudent()获取这个老师所有学生,发现学生还是和之前的一样,但是不符合数据库中的最新数据,也就是说,现在teacher中的数据不是最新数据
问 1:在第三步中,会不会产生一次查询,还是说,直接调用getStudent()函数,这时候是不是没有hibernate临时类了?
2: 有什么方法解决这个数据不同步的问题,有什么办法能让内存中数据和数据库中保持一致? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询