When you use the DbAdapter to query one-to-many (1:M) table sctructure, Toplink is reading the whole result structure into memory. If you have a large amount of data (milions of records) and you use this OSB Proxy Service or SOA Composite very often, a few times per second, you can expect the Java memory is aggressively used and the Weblogic server is doing a lot of garbage collection. This can even result into time-outs or even out-of-memory errors.
The fix is rather simple, but this can not be done via JDeveloper or Eclipse via the common interface. You have to edit the following file and change the default value from true to false:
<DBAdapterFunction>-or-mappings.xml: <batch-reading>false</batch-reading>
Reference: Toplink Optimaztion