休眠命名查询(选择)

时间:2019-03-15 18:01:32

标签: java mysql spring hibernate

我们正在将Spring和Spring框架一起使用hibernate作为ORM。今天,我遇到了一个问题,即多次调用时,一个命名查询(基本上是一个选择查询)给出的结果不一致。命中此选择查询不是在循环中,而是从前端开始。因此,当我从前端多次执行相同的操作时,有时查询从数据库中获取了正确的数据,但有时却没有。

示例:(示例代码)

Query query = session.getNamedQuery("select debitid from ABCMstrEntity where entitynum=: entitynum and isopen=:Y");

query.set(........);

..
List<Object[]> list = (List<Object[]>)query.list;

在前4次尝试中,我在列表对象中获得了正确的数据。 在我的第五次尝试中,尽管db中存在提供的输入数据,但我得到了空列表对象。当我在数据库末尾使用数据库查询日志检查它时,我发现我的第五次尝试在数据库末尾都没有命中。看来这里出了点问题。

我还在项目中的休眠状态下检查了与缓存相关的设置,但是我们没有在任何缓存区域中缓存查询结果。此外,应用程序日志中也不例外。

请有人在此问题上帮助我进行分析和修复。

0 个答案:

没有答案