Hibernate中的查询太多,甚至是懒惰的提取

时间:2012-06-16 01:09:32

标签: hibernate lazy-loading

在使用Hibernate几年后问这个问题有点尴尬......

我有一个master_table:

  • 有一些@OneToMany(fetch = FetchType.LAZY,mappedBy =“某事”)
  • 和一些@ManyToOne(fetch = FetchType.LAZY)
  • 可能有一些@OneToOne
  • child_table中的相同内容

我只加载了master_table,它给了我大约500行。但是在后台,大约有6000个查询。 (很确定没有EAGER)

问题:这是正常的吗?是否可以在不影响延迟加载机制的情况下仅使用1个查询加载此表,这在这里非常好用。

由于

1 个答案:

答案 0 :(得分:0)

答案很简单: - 在@OneToMany上使用Fetch = Subselect只给了我一个查询。由于它是懒惰的,当需要孩子时,将生成相应的查询 - 使用BatchSize也是一个不错的选择