Exception in thread "main" Local Exception Stack:
Exception [EclipseLink-6044] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.QueryException
Exception Description: The primary key read from the row [DatabaseRecord(
id => 3
firstname = KIN
lastname = CAA )] during the execution of the query was detected to be null. Primary keys must not contain null.
Query: ReadAllQuery(name="cus.GenFn" referenceClass=Customer1 )
at org.eclipse.persistence.exceptions.QueryException.nullPrimaryKeyInBuildingObject(QueryException.java:863)
at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:468)
at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:441)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:635)
at org.eclipse.persistence.queries.ReadAllQuery.registerResultInUnitOfWork(ReadAllQuery.java:838)
at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:464)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:997)
at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:675)
James Sutherland wrote:The issue is the case of the parameter names.
Change the query def to,
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production
Driver: Oracle JDBC driver Version: 10.2.0.4.0
[EL Info]: 2010-01-26 14:30:30.586--ServerSession(26194423)--Thread(Thread[main,5,main])--file:/D:/kin/workspace/EclipseLinkTest/build/classes/_BankService login successful
[EL Fine]: 2010-01-26 14:34:16.052--ClientSession(25068634)--Connection(4779445)--Thread(Thread[main,5,main])--BEGIN NA_CUSTOMER(id=>?, firstname=>?, lastname=>?); END;
bind => [=> ID, => FIRSTNAME, => LASTNAME]
[EL Fine]: 2010-01-26 14:34:16.161--ClientSession(25068634)--Thread(Thread[main,5,main])--SELECT 1 FROM DUAL
[EL Warning]: 2010-01-26 14:34:16.166--UnitOfWork(4889213)--Thread(Thread[main,5,main])--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00900: invalid SQL statement
Error Code: 900
Call: BEGIN NA_CUSTOMER(id=>?, firstname=>?, lastname=>?); END;
bind => [=> ID, => FIRSTNAME, => LASTNAME]
Query: ReadAllQuery(name="cus.GenFn" referenceClass=Customer1 )
Exception in thread "main" Local Exception Stack:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.0.0.v20091127-r5931): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00900: invalid SQL statement
Error Code: 900
Call: BEGIN NA_CUSTOMER(id=>?, firstname=>?, lastname=>?); END;
bind => [=> ID, => FIRSTNAME, => LASTNAME]
[Query: ReadAllQuery(name="cus.GenFn" referenceClass=Customer1 )
at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.buildSortedFields(DatabaseAccessor.java:283)
at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.matchFieldOrder(DatabaseCall.java:526)
at org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.executeStoredProcedure(DatabasePlatform.java:1951)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:596)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:529)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeCall(AbstractSession.java:914)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:205)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:191)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:262)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:618)
at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:455)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:997)
at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:675)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:958)
at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:432)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1021)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2863)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1225)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1207)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:453)
at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:702)
[EL Config]: 2010-01-27 10:42:04.051--ServerSession(11197591)--Connection(23293518)--Thread(Thread[main,5,main])--Connected: Database: Oracle Version: Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production
Driver: Oracle JDBC driver Version: 10.2.0.4.0
[EL Info]: 2010-01-27 10:42:04.276--ServerSession(11197591)--Thread(Thread[main,5,main])--file:/D:/kin/workspace/EclipseLinkTest/build/classes/-sas login successful
[EL Fine]: 2010-01-27 10:42:04.302--ServerSession(11197591)--Connection(7907968)--Thread(Thread[main,5,main])--SELECT ID, LASTNAME, FIRSTNAME FROM CUSTOMER WHERE (ID = ?)
bind => [3]
[EL Fine]: 2010-01-27 10:42:04.408--ClientSession(21279119)--Connection(25865024)--Thread(Thread[main,5,main])--BEGIN NA_CUSTOMER(IPIID=>?, OPIID=>?, OPSFIRSTNAME=>?, OPSLASTNAME=>?); END;
bind => [4, => ID, => FIRSTNAME, => LASTNAME]
Jan 27, 2010 10:42:04 AM hk.client.CustomerTest main
INFO: Customer[3]: name = KIN CAA
Jan 27, 2010 10:42:04 AM hk.client.CustomerTest main
INFO: Result from SP: Customer[4: name = KIN CAA
Jan 27, 2010 10:42:04 AM hk.client.CustomerTest main
INFO: Result from SP, approach 2: Customer[6]: name = TANNA TCAR
Jan 27, 2010 10:42:04 AM hk.client.CustomerTest tearDown
INFO: closing EntityManagerFactory
[EL Config]: 2010-01-27 10:42:04.427--ServerSession(11197591)--Connection(32308743)--Thread(Thread[main,5,main])--disconnect
[EL Info]: 2010-01-27 10:42:04.43--ServerSession(11197591)--Thread(Thread[main,5,main])--file:/D:/kin/workspace/EclipseLinkTest/build/classes/-sas logout successful
Surfs up space ponies, I'm making gravy without this lumpy, tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
|