JavaEclipseLink 1.2和BatchFetch
我遇到了EclipseLink问题,针对DB运行了多个查询,而不是单个查询。我发现下面的SO线程提供了@BatchFetch注释解决方案,以帮助作为一个主查询运行
How to do join fetching instead of select fectching with EclipseLink?
How to define the EclipseLink annotation for the following?
但我使用的是EclipseLink 1.2,上面的注释类仅受EclipseLink 2+支持。如果您能为1.2提供另一种解决方案,我们将不胜感激。我尝试将整个项目迁移到EclipseLink 2,但遇到了映射问题,我现在没有耐心解决
我用的是EclipseLink的JPA
# 1 楼答案
@BatchFetch注释只是将映射设置为使用批读取。您可以在EclipseLink 1.2中使用描述符配置器和ForeignReferenceMappingAPI来实现这一点
# 2 楼答案
一种方法是使用查询提示,例如:
在这种情况下,所有
c
的sourceTable
关系将使用单个查询加载,而不是每个c
加载一个查询