Excuse me. This is the stored procedure,
CREATE OR REPLACE package body employeedetailpkg
as procedure getEmployeeDetail(employeeId in NUMBER, myCsr out
csr) is begin
open myCsr for select
* from employee where emp_id = employeeId; end
getEmployeeDetail; end;
Sent: Wednesday, April 14, 2010 9:36 PM
Subject: [eclipselink-users] StoredProcedureCall, ReadAllQuery
exception
Hi,
I am trying several StoredProcedureCall
methods.
This one works ok,
public static void getEmployees()
{ StoredProcedureCall spcall = new
StoredProcedureCall();
spcall.setProcedureName("EMPLOYEEPKG.GETALLEMPLOYEES");
spcall.useNamedCursorOutputAsResultSet("MYCSR");
List<DatabaseRecord> employees = (Vector)
getSession().executeSelectingCall(spcall);
for(DatabaseRecord dr: employees)
{
System.out.println("EMP_ID => " +
dr.get("EMP_ID"));
System.out.println("F_NAME => " +
dr.get("F_NAME"));
System.out.println("L_NAME => " +
dr.get("L_NAME"));
System.out.println();
System.out.println();
} }
But the following throws an exception,
public static void getEmployee(BigDecimal employeeId)
{ StoredProcedureCall spcall = new
StoredProcedureCall();
spcall.setProcedureName("EMPLOYEEDETAILPKG.GETEMPLOYEEDETAIL");
spcall.addNamedArgument("EMP_ID",
"employeeId");
spcall.useNamedCursorOutputAsResultSet("MYCSR");
ReadAllQuery
query = new ReadAllQuery();
query.setReferenceClass(Employee.class);
//query.setEJBQLString("SELECT OBJECT(emp) FROM Employee emp WHERE emp.empId =
?1");
query.setCall(spcall);
query.addArgument("EMP_ID");
Vector args =
new Vector();
args.add(employeeId);
getSession().executeQuery(query, args); }
Here is the exception,
[EL Info]: 2010-04-14
21:11:20.125--DatabaseSessionImpl(31789152)--Thread(Thread[main,5,main])-- login
successful Exception in thread "main" Local Exception Stack: [EL
Warning]: 2010-04-14
21:11:20.234--DatabaseSessionImpl(31789152)--Thread(Thread[main,5,main])--Exception
[EclipseLink-6007] (Eclipse Persistence Services - 2.0.0.v20091127-r5931):
org.eclipse.persistence.exceptions.QueryException Exception
[EclipseLink-6007] (Eclipse Persistence Services - 2.0.0.v20091127-r5931):
org.eclipse.persistence.exceptions.QueryException Exception Description:
Missing descriptor for [class model.Employee]. Query:
ReadAllQuery(referenceClass=Employee ) Exception Description: Missing
descriptor for [class model.Employee]. Query:
ReadAllQuery(referenceClass=Employee
) at
org.eclipse.persistence.exceptions.QueryException.descriptorIsMissing(QueryException.java:433)
at
org.eclipse.persistence.queries.ObjectLevelReadQuery.checkDescriptor(ObjectLevelReadQuery.java:660)
at
org.eclipse.persistence.queries.ObjectLevelReadQuery.prePrepare(ObjectLevelReadQuery.java:1895)
at
org.eclipse.persistence.queries.ObjectLevelReadQuery.checkPrePrepare(ObjectLevelReadQuery.java:748)
at
org.eclipse.persistence.queries.ObjectLevelReadQuery.checkEarlyReturn(ObjectLevelReadQuery.java:681)
at
org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:619)
at
org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:958)
at
org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:432)
at
org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2322)
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
testapplication.Test.getEmployee(Test.java:90)
at testapplication.Test.main(Test.java:41) Java Result: 1
What does it mean?
Thanks in advanced,
Jose
_______________________________________________ eclipselink-users
mailing
list eclipselink-users@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/eclipselink-users
|