Vermeulen created OPENJPA-2239:
----------------------------------

             Summary: removing from one List<X> removes all from other List<X> 
in same entity
                 Key: OPENJPA-2239
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2239
             Project: OpenJPA
          Issue Type: Bug
          Components: kernel
    Affects Versions: 2.1.1
            Reporter: Vermeulen


I have an Order entity that has two separate lists of OrderLine entities:

...
        @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
        private List<OrderLine> plannedOrderLines = new ArrayList<OrderLine>();

        @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
        private List<OrderLine> actualOrderLines = new ArrayList<OrderLine>();
...

I remove a single element from actualOrderLines, then merge the entity and 
close the entity manager. When I find the entity again with a different entity 
manager, the plannedOrderLines list is empty.

OpenJPA generates one join table that contains entries for both lists. I used 
this configuration for a long time and it seems to work fine except for this 
bug. I verified in the database that the entries for planned order lines are 
all removed from the join table.

Workaround: use @JoinTable or @JoinColumn annotation so that both lists do not 
map to the same join table.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to