缓存错误的Hibernate查询

时间:2016-08-16 17:19:37

标签: mysql hibernate rest spring-security spring-boot

以下查询位于我的AuthorizedVoter中,并在访问我的API之前先被解雇。这将返回1个结果。

    " from School s inner join fetch s.student ss where s.Key = :schoolKey and      " +
        "s.accountKey = :accountKey and ss.Key= :studentKey " +
        "and ss.country='INDIA'"

API触发以下查询,此查询的结果也是1行

SELECT DISTINCT
s.key, ss.studentkey
FROM
school s
    INNER JOIN
student ss ON s.key = ss.reportingsessionkey
    AND (ss.country='INDIA')
WHERE
session0_.key = ?

如果我逐出缓存,则返回4行,这是实际的正确值。 我没有使用任何二级缓存,它似乎是一级缓存问题。 请帮助我找到比驱逐API中的缓存更好的解决方案。还有什么是真正的原因。

当我将2个查询作为集成测试的一部分运行时,在另一个结果很好之后添加更多内容。 第一个查询是Spring安全性的一部分,API的第二部分将在此之后被调用,似乎学生的详细信息存储在持久化上下文中并继续在API中使用。

请在gihub https://github.com/agandhinit/crazy-hibernate

上找到代码的链接

0 个答案:

没有答案