[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] Stored Procedure error
|
Your procedure must return all of the column values required for the object,
including its primary key paramUserID. Currently your row does not include
that value. Perhaps make the PARAM_USER_ID an INOUT param.
khaskett wrote:
>
> We have a stored Procedure call to a SQL Server database that is erroring
> out.
> The primary key read from the row [DatabaseRecord(
> paramAgentNumber => XXXXXXXXX
> paramAgentSubcode => ZZZZZZZ
> paramInitials => ABC
> paramLastName => SOME
> paramFirstName => ONE
> paramEmail => SONE@xxxxxxx
> paramReturn => null)] during the execution of the query was detected to
> be null. Primary keys must not contain null.
>
> Which indicates that part of the primary key is returning null,
> specifically paramReturn. But the primary key does not include
> paramReturn.
>
> Here is the call -
>
> final ReadObjectQuery readObjectQuery = new
> ReadObjectQuery(CpUser.class);
> final StoredProcedureCall call = new StoredProcedureCall();
> call.setProcedureName("spMSIRetrieveByUserID");
> call.addNamedArgumentValue(CpUserManagerImpl.PARAM_USER_ID,
> argumentValue);
> call.addNamedOutputArgument(CpUserManagerImpl.PARAM_AGENT_NUMBER);
>
> call.addNamedOutputArgument(CpUserManagerImpl.PARAM_AGENT_SUBCODE);
> call.addNamedOutputArgument(CpUserManagerImpl.PARAM_INITIALS);
> call.addNamedOutputArgument(CpUserManagerImpl.PARAM_LAST_NAME);
> call.addNamedOutputArgument(CpUserManagerImpl.PARAM_FIRST_NAME);
> call.addNamedOutputArgument(CpUserManagerImpl.PARAM_EMAIL);
> call.addNamedOutputArgument(CpUserManagerImpl.PARAM_RETURN);
> readObjectQuery.setCall(call);
>
> return (CpUser) getSession().executeQuery(readObjectQuery);
>
> Here is the entity -
>
> @Entity
> public class CpUser extends BaseDomain {
>
> // Attributes
> @Id
> @Column(name = "paramUserID")
> private String userId;
>
> @Column(name = "paramInitials")
> private String initials;
>
> @Column(name = "paramBinarySession")
> private String binarySessionID;
>
> @Column(name = "paramFirstName")
> private String firstName;
>
> @Column(name = "paramLastName")
> private String lastName;
>
> @Column(name = "paramAgentNumber")
> private String producer;
>
> @Column(name = "paramAgentSubcode")
> private String contractNumber;
>
> @Column(name = "paramEmail")
> private String emailAddress;
>
> @Column(name = "paramReturn")
> private int result;
>
> Any ideas on what is wrong?
>
-----
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/Stored-Procedure-error-tp23890538p23967269.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.