Allow lazy proxy relationships to add or remove elements without triggering a 
load
----------------------------------------------------------------------------------

                 Key: OPENJPA-2165
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2165
             Project: OpenJPA
          Issue Type: New Feature
          Components: jdbc, kernel, performance
    Affects Versions: 2.3.0, 2.2.1
            Reporter: Jeremy Bauer
            Assignee: Jeremy Bauer


When adding or removing elements from a non-database-ordered (no order by or 
order column - which require strict order to be maintained) lazy proxied 
collection which is a relationship to other entities, OpenJPA loads the 
collection before performing the operation.  This can be very expensive if an 
operation is only adding or removing items from the collection.  I created a 
feature that, when switched on, allows non-indexed add and remove operations to 
be performed on a collection without triggering a load.  The collection will 
get loaded (and reconciled, if necessary) when an operation is performed that 
requires a load, such as iteration, size, isEmpty, etc.  Currently, the feature 
can be enabled for the using this new attribute on the ProxyManager.

<property name="openjpa.ProxyManager" value="delayCollectionLoading=true"/>

The basics have been added to field mappings/metadata such that this could be 
enabled on a per-field basis in the future.

--
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