[
https://issues.apache.org/cayenne/browse/CAY-1051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrus Adamchik closed CAY-1051.
--------------------------------
Resolution: Fixed
> Oracle 11 driver support - Drop OracleAdapter "optimizations"
> -------------------------------------------------------------
>
> Key: CAY-1051
> URL: https://issues.apache.org/cayenne/browse/CAY-1051
> Project: Cayenne
> Issue Type: Improvement
> Components: Cayenne Core Library
> Affects Versions: 3.0
> Environment: Oracle 11
> Reporter: Andrus Adamchik
> Assignee: Andrus Adamchik
> Priority: Minor
> Fix For: 3.0
>
>
> It was reported that OrlaceAdapter throws when running with Oracle 11 driver
> [1]. The problem is caused by Oracle "optimizations" built in to the Adapter.
> While I found a quick fix for "optimizations" to work with the new driver, I
> think the whole idea that Cayenne should hardcode some special Oracle
> parameters in the adapter is lame. Aside from the fact that our own testing
> didn't find any benefits of those "optimizations", Cayenne should not
> reconfigure the Statements in a one-size-fits-all manner.
> Now what's *really* lame is Oracle inability to pass various parameters in
> the JDBC URL, so you have to call their API directly. We'll be leaving this
> as an exercise for the end-users from now on.
> [1] http://www.oracle.com/technology/tech/java/sqlj_jdbc/index.html
> ava.lang.IllegalAccessException: Class
> org.apache.cayenne.dba.oracle.OracleSelectTranslator can not access a member
> of class oracle.jdbc.driver.OracleStatementWrapper with modifiers "public"
> at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
> at java.lang.reflect.Method.invoke(Method.java:578)
> at
> org.apache.cayenne.dba.oracle.OracleSelectTranslator.createStatement(OracleSelectTranslator.java:132)
> at
> org.apache.cayenne.access.jdbc.SelectAction.performAction(SelectAction.java:72)
> at
> org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:58)
> at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:230)
> at
> org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:424)
> at
> org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:68)
> at
> org.apache.cayenne.access.DataDomainQueryAction$2.transform(DataDomainQueryAction.java:397)
> at
> org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:847)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.