【发布时间】:2016-03-30 15:31:24
【问题描述】:
我的应用程序有一项服务将在内部轮询作业输出。它会轮询直到作业状态从“进行中”变为“已完成”。另一个系统将在处理作业后将作业状态更新为“已完成”。
这里的问题是,第一次从数据库轮询作业状态时,状态为“进行中”。但后来即使工作状态被其他进程更改,我仍然将其视为“进行中”。问题不在于数据库隔离级别(可重复读取),因为我的休眠查询是在事务外执行的。我怀疑结果被缓存了,当在同一个会话中执行相同的查询时,我得到了缓存的结果。
当在同一个会话中多次执行相同的查询时,如何从数据库中获取更新的数据。
问候, 昌都
【问题讨论】:
-
并且不查看 Hibernate 日志会告诉您查询去向的答案?!
标签: hibernate jpa spring-boot hibernate-cache