我遇到了针对DB运行多个查询而不是单个查询的EclipseLink问题。我找到了下面的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
发布于 2011-11-08 22:02:25
@BatchFetch注释只是将映射设置为使用批处理读取。在EclipseLink 1.2中,您可以使用DescriptorCustomizer和ForeignReferenceMapping应用编程接口来完成此操作。
发布于 2011-11-08 20:57:22
一种方法是使用查询提示,例如:
query.setHint(QueryHints.BATCH, "c.sourceTable");在这种情况下,所有c的sourceTable关系将使用单个查询加载,而不是每个c一个查询。
https://stackoverflow.com/questions/8043116
复制相似问题