当前位置: 首页 > 面试题库 >

如何避免使用集合提取指定的警告“ firstResult / maxResults”;申请内存!” 什么时候使用休眠?

谭坚诚
2023-03-14
问题内容

我在服务器日志 “用集合获取指定的firstResult / maxResults;在内存中应用!”中 收到警告
。但是,一切正常。但我不要这个警告。

我的代码是

public employee find(int id) {
    return (employee) getEntityManager().createQuery(QUERY).setParameter("id", id).getSingleResult();
}

我的查询是

QUERY = "from employee as emp left join fetch emp.salary left join fetch emp.department where emp.id = :id"

问题答案:

该警告的原因是,当使用访存联接时,结果集中的顺序仅由所选实体的ID定义(而不是由访存的联接定义)。

如果内存中的这种排序引起问题,请不要在JOIN FETCH中使用firsResult / maxResults。



 类似资料:
  • 问题内容: 我在服务器日志 “用集合获取指定的firstResult / maxResults;在内存中应用!”中 收到警告 。 。但是,一切正常。但我不要这个警告。 我的代码是 我的查询是 问题答案: 该警告的原因是,当使用访存联接时,结果集中的顺序仅由所选实体的ID定义(而不是由访存的联接定义)。 如果内存中的这种排序引起问题,请不要在JOIN FETCH中使用firsResult / max

  • 我在服务器日志中收到一个警告“firstResult/max结果指定集合获取;在内存中应用!”。然而一切正常。但我不想要这个警告。

  • 问题内容: 我遇到了一个问题,我在JPA中有一个查询。因为我有一些集合,所以我需要使用左连接获取或内部连接获取 我的问题是使用和,以便带回准确的结果数。每次我看到整个结果都带回来,并且只有在使用maxResult之后。 有什么办法可以使maxResult之前吗? 非常感谢 ! 这是更多信息: 我的问题是当我使用它时: 我在日志中看到此消息: 2011年6月7日09:52:37 org.hibern

  • 问题内容: 我习惯于进行Java编程,在编程时,您无需真正考虑指针。但是,此刻我正在用C ++编写程序。在创建具有其他类成员的类时,何时应该使用指针,何时不应该使用指针?例如,什么时候我想这样做: 与此相反: 问题答案: 首先避免指针。 在以下情况下使用它们: 您想使用Pimpl习惯用法或抽象工厂。 该实例实际上是由程序的其他部分管理的,而该类仅需要能够访问它。 您想推迟对象的构建(即,您想 在

  • 问题内容: 我无法理解hibernate何时进入二级缓存以及何时使缓存失效。 这是我目前所了解的: 第二级缓存在会话之间存储实体,作用域为SessionFactory 您必须告诉要缓存的实体,默认情况下不会缓存任何实体 查询缓存将查询结果存储在缓存中。 我不明白的是 hibernate何时会命中此缓存? 假设我已经设置了二级缓存,但没有设置查询缓存。我想缓存我的客户,其中有50000。我可以通过哪

  • 问题内容: 奇怪的是: 似乎或多或少被定义为。通过这种方式很容易产生错误: 一些fname意外地以else块结尾。修复很简单,我们应该改用它,但是从表面上看,这似乎是一种不错的pythonic方式,并且比“正确”的方式更具可读性。 由于字符串是不可变的,所以为什么字符串错误是什么技术细节?什么时候进行身份检查更好,什么时候进行平等检查更好? 问题答案: 据我所知,检查对象身份是否相等。由于没有强制