Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] (no subject)

Ensure you are setting your EclipseLink ServerPlatform to WebLogicPlatform or
setting the "eclipselink.target-server".  Also ensure you are using
EclipseLink 1.0.  This should have been fixed in M9 or M10, perhaps you are
on an earlier build?


astrait wrote:
> 
> Hello,
> 
> I’m porting an OC4J/TopLink project that uses Oracle 
> Spatial to WebLogic 10/EclipseLink and am having some 
> difficulty with a DirectToFieldMapping  for JGeometry 
> fields.
> 
> The JGeometryConverter is being defined through 
> sessions.xml as:
> 
>           <struct-converters>
>           
> <struct-converter>org.eclipse.persistence.platform.database.oracle.converters.JGeometryConverter</struct-converter>
>           </struct-converters>
> 
> The direct to field mapping is setup using:
> 
>      protected DirectToFieldMapping 
> addJGeometryConversionMapping(String attributeName, String 
> databaseFieldName) {
>          DirectToFieldMapping mapping = new 
> DirectToFieldMapping();
>          mapping.setAttributeName(attributeName);
>          mapping.setFieldName(databaseFieldName);
>          mapping.setFieldType(java.sql.Types.STRUCT);
>          addMapping(mapping);
>          return mapping;
>      }
> 
> At runtime the following ClassCastException occurs:
> 
> [EL Warning]: 
> ClientSession(6965749)--java.lang.ClassCastException: 
> weblogic.jdbc.wrapper.Struct_oracle_sql_STRUCT
>          at 
> org.eclipse.persistence.platform.database.oracle.converters.JGeometryConverter.convertToObject(JGeometryConverter.java:47)
>          at 
> org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.getObjectFromResultSet(DatabasePlatform.java:1006)
>          at 
> org.eclipse.persistence.platform.database.oracle.OraclePlatform.getObjectFromResultSet(OraclePlatform.java:386)
>          at 
> org.eclipse.persistence.platform.database.oracle.Oracle9Platform.getObjectFromResultSet(Oracle9Platform.java:165)
>          at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.getObject(DatabaseAccessor.java:1085)
>          at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.fetchRow(DatabaseAccessor.java:882)
>          at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:621)
>          at 
> org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:500)
>          at 
> org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:522)
>          at 
> org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:204)
>          at 
> org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:190)
>          at 
> org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:261)
>          at 
> org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:594)
>          at 
> org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2505)
>          at 
> org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2463)
>          at 
> org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:478)
>          at 
> org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:883)
>          at 
> org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:666)
>          at 
> org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:844)
>          at 
> org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:456)
>          at 
> org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2207)
>          at 
> org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1178)
>          at 
> org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1162)
>          at 
> org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1108)
> 
> For non-JGeometry fields the EclipseLink setup by way of 
> sessions.xml seems to be working fine.  It appears that 
> WebLogic dynamically slips in its own STRUCT type. 
>  Presumably I am missing a configuration step on the 
> WebLogic side?  I thought that I would ask before 
> reverting to a custom converter.
> 
> Thank you in advance for any suggestions that this list 
> might have.
> 
> -Alan Strait
> 


-----
---
http://wiki.eclipse.org/User:James.sutherland.oracle.com James Sutherland 
http://www.eclipse.org/eclipselink/
 EclipseLink ,  http://www.oracle.com/technology/products/ias/toplink/
TopLink 
Wiki:  http://wiki.eclipse.org/EclipseLink EclipseLink , 
http://wiki.oracle.com/page/TopLink TopLink 
Forums:  http://forums.oracle.com/forums/forum.jspa?forumID=48 TopLink , 
http://www.nabble.com/EclipseLink-f26430.html EclipseLink 
Book:  http://en.wikibooks.org/wiki/Java_Persistence Java Persistence 
-- 
View this message in context: http://www.nabble.com/%28no-subject%29-tp18477241p18487773.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.



Back to the top