最近,由于内存不足,我们的生产出现了崩溃。我们得到了堆转储,这给了我的团队出了问题的答案,但我们仍然经历了 OQL 查询执行的一些不确定行为。
在带有 OQL 的 VisualVM 中,我尝试获取具有相同 ID(恰好是 Long)的所有对象,结果我也获取了具有其他 ID 的对象。
select m from com.someapp.service.model.SomeModel m where m.id.value = 1;
此查询总是返回 100 多个带有看似随机 id 值的结果。
这是为什么?如何编写将返回我正在寻找的实例的查询?