Java Persistence Query Language

Hi. I hope someone can help me. I am running a delete jpql but for some reason one of the column names is replaced by nothing in the final sql used by the container. The parameter "w.ContactId" should be replaced by "CONTACTID" just like the "w.ListName" is replaced by "LISTNAME". Here is the final sql reported by the exception, at the top of the complete exception below(Take a look at the WVID.java entity class and the deleteWVID method from the session bean at the end of this post):

Internal Exception: org.apache.derby.client.am.SqlException: Syntax error: Encountered"=" at line 1, column 27.Error Code: -1

Call:DELETE FROM WVID WHERE (( = ?) AND (LISTNAME = ?))

bind => [no.tobiassen.entities.Users[id=1], tobiassen1/default@meldingssentralen.no]

Query:DeleteAllQuery()

at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:303)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:551)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:437)

at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.executeCall(UnitOfWorkImpl.java:1355)

at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:213)

at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:199)

at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.deleteAll(DatasourceCallQueryMechanism.java:107)

at oracle.toplink.essentials.queryframework.DeleteAllQuery.executeDatabaseQuery(DeleteAllQuery.java:183)

at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:609)

at oracle.toplink.essentials.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:536)

at oracle.toplink.essentials.queryframework.ModifyAllQuery.executeInUnitOfWork(ModifyAllQuery.java:153)

at oracle.toplink.essentials.queryframework.DeleteAllQuery.executeInUnitOfWork(DeleteAllQuery.java:109)

at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2211)

at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:937)

at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:909)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.executeUpdate(EJBQueryImpl.java:365)

at no.tobiassen.sessions.WVFacadeBean.deleteWVID(WVFacadeBean.java:169)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1050)

at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:165)

at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2766)

at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3847)

at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:184)

at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:118)

at $Proxy81.deleteWVID(Unknown Source)

at no.tobiassen.main.HandleDataInput.getListManageResponse(HandleDataInput.java:659)

at no.tobiassen.main.HandleDataInput.getXMLResponseBuffer(HandleDataInput.java:1610)

at no.tobiassen.servlets.WVHttpServlet.processRequest(WVHttpServlet.java:53)

at no.tobiassen.servlets.WVHttpServlet.doPost(WVHttpServlet.java:93)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)

at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)

at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)

at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)

at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)

Caused by: org.apache.derby.client.am.SqlException: Syntax error: Encountered"=" at line 1, column 27.

at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)

at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)

at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)

at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)

at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)

at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)

at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)

at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)

at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)

at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)

at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)

at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)

at com.sun.gjc.spi.ConnectionHolder.prepareStatement(ConnectionHolder.java:413)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1137)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:597)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:470)

... 56 more

|#]

[#|2007-06-04T18:13:15.890+0200|INFO|sun-appserver-pe9.0|javax.enterprise.system.container.ejb|_ThreadID=16;_ThreadName=httpWorkerThread-8080-0;WVFacadeBean;|EJB5018: An exception was thrown during an ejb invocation on [WVFacadeBean]|#]

[#|2007-06-04T18:13:15.890+0200|INFO|sun-appserver-pe9.0|javax.enterprise.system.container.ejb|_ThreadID=16;_ThreadName=httpWorkerThread-8080-0;|

javax.ejb.EJBException

at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:3730)

at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3630)

at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3431)

at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1247)

at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:192)

at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:118)

at $Proxy81.deleteWVID(Unknown Source)

at no.tobiassen.main.HandleDataInput.getListManageResponse(HandleDataInput.java:659)

at no.tobiassen.main.HandleDataInput.getXMLResponseBuffer(HandleDataInput.java:1610)

at no.tobiassen.servlets.WVHttpServlet.processRequest(WVHttpServlet.java:53)

at no.tobiassen.servlets.WVHttpServlet.doPost(WVHttpServlet.java:93)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)

at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)

at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)

at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)

at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)

Caused by: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2006.4 (Build 060412)): oracle.toplink.essentials.exceptions.DatabaseException

Internal Exception: org.apache.derby.client.am.SqlException: Syntax error: Encountered"=" at line 1, column 27.Error Code: -1

Call:DELETE FROM WVID WHERE (( = ?) AND (LISTNAME = ?))

bind => [no.tobiassen.entities.Users[id=1], tobiassen1/default@meldingssentralen.no]

Query:DeleteAllQuery()

at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:303)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:551)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:437)

at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.executeCall(UnitOfWorkImpl.java:1355)

at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:213)

at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:199)

at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.deleteAll(DatasourceCallQueryMechanism.java:107)

at oracle.toplink.essentials.queryframework.DeleteAllQuery.executeDatabaseQuery(DeleteAllQuery.java:183)

at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:609)

at oracle.toplink.essentials.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:536)

at oracle.toplink.essentials.queryframework.ModifyAllQuery.executeInUnitOfWork(ModifyAllQuery.java:153)

at oracle.toplink.essentials.queryframework.DeleteAllQuery.executeInUnitOfWork(DeleteAllQuery.java:109)

at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2211)

at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:937)

at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:909)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.executeUpdate(EJBQueryImpl.java:365)

at no.tobiassen.sessions.WVFacadeBean.deleteWVID(WVFacadeBean.java:169)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1050)

at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:165)

at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2766)

at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3847)

at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:184)

... 32 more

Caused by: org.apache.derby.client.am.SqlException: Syntax error: Encountered"=" at line 1, column 27.

at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)

at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)

at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)

at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)

at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)

at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)

at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)

at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)

at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)

at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)

at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)

at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)

at com.sun.gjc.spi.ConnectionHolder.prepareStatement(ConnectionHolder.java:413)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1137)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:597)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:470)

... 56 more

|#]

[#|2007-06-04T18:13:15.921+0200|WARNING|sun-appserver-pe9.0|javax.enterprise.system.stream.err|_ThreadID=16;_ThreadName=httpWorkerThread-8080-0;_RequestID=4c9d687a-a9b6-4c0c-803a-c4d126fb9ed0;|javax.ejb.EJBException

at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:3730)

at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3630)

at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3431)

at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1247)

at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:192)

at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:118)

at $Proxy81.deleteWVID(Unknown Source)

at no.tobiassen.main.HandleDataInput.getListManageResponse(HandleDataInput.java:659)

at no.tobiassen.main.HandleDataInput.getXMLResponseBuffer(HandleDataInput.java:1610)

at no.tobiassen.servlets.WVHttpServlet.processRequest(WVHttpServlet.java:53)

at no.tobiassen.servlets.WVHttpServlet.doPost(WVHttpServlet.java:93)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)

at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)

at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)

at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)

at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)

Caused by: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2006.4 (Build 060412)): oracle.toplink.essentials.exceptions.DatabaseException

Internal Exception: org.apache.derby.client.am.SqlException: Syntax error: Encountered"=" at line 1, column 27.Error Code: -1

Call:DELETE FROM WVID WHERE (( = ?) AND (LISTNAME = ?))

bind => [no.tobiassen.entities.Users[id=1], tobiassen1/default@meldingssentralen.no]

Query:DeleteAllQuery()

at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:303)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:551)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:437)

at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.executeCall(UnitOfWorkImpl.java:1355)

at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:213)

at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:199)

at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.deleteAll(DatasourceCallQueryMechanism.java:107)

at oracle.toplink.essentials.queryframework.DeleteAllQuery.executeDatabaseQuery(DeleteAllQuery.java:183)

at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:609)

at oracle.toplink.essentials.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:536)

at oracle.toplink.essentials.queryframework.ModifyAllQuery.executeInUnitOfWork(ModifyAllQuery.java:153)

at oracle.toplink.essentials.queryframework.DeleteAllQuery.executeInUnitOfWork(DeleteAllQuery.java:109)

at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2211)

at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:937)

at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:909)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.executeUpdate(EJBQueryImpl.java:365)

at no.tobiassen.sessions.WVFacadeBean.deleteWVID(WVFacadeBean.java:169)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1050)

at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:165)

at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2766)

at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3847)

at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:184)

... 32 more

Caused by: org.apache.derby.client.am.SqlException: Syntax error: Encountered"=" at line 1, column 27.

at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)

at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)

at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)

at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)

at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)

at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)

at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)

at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)

at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)

at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)

at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)

at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)

at com.sun.gjc.spi.ConnectionHolder.prepareStatement(ConnectionHolder.java:413)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1137)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:597)

at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:470)

... 56 more

|#]

WVID.java

@Entity

publicclass WVIDimplements Serializable{

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

private Long id;

@OneToOne

private Users Owner;//Owner is the owner of all the ContactIds in a list

private String ListName;

private String Name;

@OneToOne

private Users ContactId;

/** Creates a new instance of WVID */

public WVID(){

}

public WVID(Users owner, String listName, String name, Users contactId){

this.Owner=owner;

this.ListName=listName;

this.Name=name;

this.ContactId=contactId;

}

/**

* Gets the id of this WVID.

* @return the id

*/

public Long getId(){

return this.id;

}

/**

* Sets the id of this WVID to the specified value.

* @param id the new id

*/

publicvoid setId(Long id){

this.id = id;

}

public Users getContactId(){

return ContactId;

}

publicvoid setContactId(Users ContactId){

this.ContactId = ContactId;

}

publicvoid setOwner(Users Owner){

this.Owner = Owner;

}

publicvoid setName(String Name){

this.Name = Name;

}

publicvoid setListName(String ListName){

this.ListName = ListName;

}

public Users getOwner(){

return Owner;

}

public String getName(){

return Name;

}

public String getListName(){

return ListName;

}

/**

* Returns a hash code value for the object. This implementation computes

* a hash code value based on the id fields in this object.

* @return a hash code value for this object.

*/

@Override

publicint hashCode(){

int hash = 0;

hash += (this.id !=null ? this.id.hashCode() : 0);

return hash;

}

/**

* Determines whether another object is equal to this WVID. The result is

* <code>true</code> if and only if the argument is not null and is a WVID object that

* has the same id field values as this object.

* @param object the reference object with which to compare

* @return <code>true</code> if this object is the same as the argument;

* <code>false</code> otherwise.

*/

@Override

publicboolean equals(Object object){

// TODO: Warning - this method won't work in the case the id fields are not set

if (!(objectinstanceof WVID)){

returnfalse;

}

WVID other = (WVID)object;

if (this.id != other.id && (this.id ==null || !this.id.equals(other.id)))returnfalse;

returntrue;

}

/**

* Returns a string representation of the object. This implementation constructs

* that representation based on the id fields.

* @return a string representation of the object.

*/

@Override

public String toString(){

return"no.tobiassen.entities.WVID[id=" + id +"]";

}

}

deleteWVID method(It is the w.ContactId which have disappeared in the sql presented to the database. Do you know why?):

publicvoid deleteWVID(String userId, java.lang.String sessionId, String contactList){

Users user=null;

if(sessionId==null){

user=getUser(userId);

}elseif(userId==null){

user=getSession(sessionId,null).getUsers();

}

em.createQuery("DELETE FROM WVID w WHERE w.ContactId=?1 AND w.ListName=?2").setParameter(1, user).setParameter(2, contactList).executeUpdate();

}

[31847 byte] By [tobiassen666a] at [2007-11-27 6:21:34]
# 1

I circumvented the problem by using a SELECT and a EntityManager.remove like this:

public void deleteWVID(String userId, java.lang.String sessionId, String contactList){

Users user=null;

if(sessionId==null){

user=getUser(userId);

}else if(userId==null){

user=getSession(sessionId, null).getUsers();

}

//em.createQuery("DELETE FROM WVID w WHERE w.ContactId=?1 AND w.ListName=?2").setParameter(1, user).setParameter(2, contactList).executeUpdate();

WVID wvid = (WVID)em.createQuery("SELECT w FROM WVID w WHERE w.ContactId=?1 AND w.ListName=?2").setParameter(1, user).setParameter(2, contactList).getSingleResult();

em.remove(wvid);

}

If anyone has a clue as to why DELETE fails, please let me know.

tobiassen666a at 2007-7-12 17:38:07 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...