[ https://issues.apache.org/jira/browse/OPENJPA-2299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vermeulen updated OPENJPA-2299: ------------------------------- Attachment: OPENJPA-2299-tests.zip Added an OpenJPA test case which shows the problem. > N+1 select when eager fetching two collection fields of the same entity type > ---------------------------------------------------------------------------- > > Key: OPENJPA-2299 > URL: https://issues.apache.org/jira/browse/OPENJPA-2299 > Project: OpenJPA > Issue Type: Bug > Components: jdbc, jpa, performance > Affects Versions: 2.3.0, 2.2.1 > Reporter: Vermeulen > Attachments: OPENJPA-2299-tests.zip > > > I have a ProductOrder entity that has two @OneToMany lists of > ProductOrderLines. When selecting from ProductOrder, eager fetching does not > seem to recurse into the second list so that each field of each > ProductOrderLine in the second list is fetched using a separate "load field" > operation. > The problem does not occur when there is only one List. > @Entity > public class ProductOrder { > @JoinColumn(name = "PLANNED_ORDER_ID") > @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) > private List<ProductOrderLine> plannedOrderLines = new > ArrayList<ProductOrderLine>(); > @JoinColumn(name = "ACTUAL_ORDER_ID") > @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) > private List<ProductOrderLine> actualOrderLines = new > ArrayList<ProductOrderLine>(); > Expected nr of queries: 1 (for Order) + 1 (for Order.plannedOrderLines) + 1 > (for Order.actualOrderLines). > Actual nr of queries: same as expected + 1 query for each field of each > ProductOrderLine in Order.actualOrderLines. > Same problem exists when using @JoinTable instead of @JoinColumn (JPA 2.0 > only). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira