1

我对SubSelect 渴望获取非常满意,但最近我遇到了问题。这是我的场景:我有许多子表的父表。我的 hql 是简单的“来自父母”,它应该给 500 位有相关孩子的父母。

  • 一个第一个请求:Hibernate 生成 2 个查询。太好了,正如预期的那样!
  • 一秒请求:它说 500 个 Parent 中的每一项都不是二级缓存,它为 Parent 生成 1 个查询,并为每个 Parent 生成 500 个查询以获取 Children。为什么 ????
  • 好的,我在 getChildren 方法上应用了 EHCache 读写。Hiberate 返回只生成 2 个查询。但是,只有当数据没有变化时,如果数据发生变化,Hibernate 会继续生成 501 查询。

最重要的是,这对我来说没有意义。我总是希望只有 2 个查询 subselect ,不管是什么!!!请帮我!我很沮丧,我的经理正在考虑回到纯 JDBC SQL

4

0 回答 0