[
https://issues.apache.org/jira/browse/OPENJPA-2299?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14061458#comment-14061458
]
David Minor commented on OPENJPA-2299:
--------------------------------------
I had a similar issue and it looks like the same cause:
http://openjpa.208410.n2.nabble.com/Avoiding-N-1-on-collection-in-recursive-relation-td7586916.html
> 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.2.1, 2.3.0
> 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 was sent by Atlassian JIRA
(v6.2#6252)