You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Michael Dick (JIRA)" <ji...@apache.org> on 2010/12/08 15:50:00 UTC

[jira] Updated: (OPENJPA-1289) Oracle driver throws exception due to incorrect mapping of XMLType column

     [ https://issues.apache.org/jira/browse/OPENJPA-1289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Dick updated OPENJPA-1289:
----------------------------------

    Affects Version/s: 1.2.2
        Fix Version/s: 1.2.3

> Oracle driver throws exception due to incorrect mapping of XMLType column
> -------------------------------------------------------------------------
>
>                 Key: OPENJPA-1289
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1289
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 1.2.2, 2.0.0-M3
>         Environment: Oracle 10i and 11 server.  10.x and 11.2.0.1.0 thin JDBC driver
>            Reporter: Jeremy Bauer
>            Assignee: Jeremy Bauer
>             Fix For: 1.2.3, 1.3.0, 2.0.0-beta
>
>
> Many variations of org.apache.openjpa.persistence.xmlmapping.query.TestXMLCustomerOrder are failing on Oracle with this exception:
> <openjpa-2.0.0-SNAPSHOT-rexported nonfatal general error> org.apache.openjpa.persistence.PersistenceException: Invalid column type: getCLOB not implemented for class oracle.jdbc.driver.T4CVarcharAccessor
> <snip/>
> Caused by: java.sql.SQLException: Invalid column type: getCLOB not implemented for class oracle.jdbc.driver.T4CVarcharAccessor
> at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
> at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
> at oracle.jdbc.driver.Accessor.unimpl(Accessor.java:358)
> at oracle.jdbc.driver.Accessor.getCLOB(Accessor.java:1328)
> at oracle.jdbc.driver.OracleResultSetImpl.getCLOB(OracleResultSetImpl.java:1305)
> at oracle.jdbc.driver.OracleResultSetImpl.getClob(OracleResultSetImpl.java:1471)
> at org.apache.commons.dbcp.DelegatingResultSet.getClob(DelegatingResultSet.java:515)
> at org.apache.openjpa.lib.jdbc.DelegatingResultSet.getClob(DelegatingResultSet.java:612)
> at org.apache.openjpa.jdbc.sql.DBDictionary.getClob(DBDictionary.java:690)
> at org.apache.openjpa.jdbc.sql.OracleDictionary.getClobString(OracleDictionary.java:562)
> at org.apache.openjpa.jdbc.sql.ResultSetResult.getStringInternal(ResultSetResult.java:471)
> at org.apache.openjpa.jdbc.sql.ResultSetResult.getObjectInternal(ResultSetResult.java:399)
> at org.apache.openjpa.jdbc.sql.AbstractResult.getObject(AbstractResult.java:696)
> at org.apache.openjpa.jdbc.meta.strats.HandlerStrategies.loadDataStore(HandlerStrategies.java:220)
> at org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy.load(HandlerFieldStrategy.java:186)
> at org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:913)
> at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1021)
> at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:973)
> at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:393)
> at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:292)
> <snip/>
> The Oracle driver does not allow the clob operations to operate on fields of XMLType.  OpenJPA maps fields of type XMLType to CLOB and uses CLOB getter/setters, resulting in the exception above.  The mapping should be changed such that the CLOB operations are not used for XML data.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.