[ 
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

Reply via email to