有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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


共 (2) 个答案

  1. # 1 楼答案

    @BatchFetch注释只是将映射设置为使用批读取。您可以在EclipseLink 1.2中使用描述符配置器和ForeignReferenceMappingAPI来实现这一点

  2. # 2 楼答案

    一种方法是使用查询提示,例如:

        query.setHint(QueryHints.BATCH, "c.sourceTable");
    

    在这种情况下,所有csourceTable关系将使用单个查询加载,而不是每个c加载一个查询