You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Stephen Ting <st...@shinyang.com.my> on 2002/11/29 10:23:45 UTC
One-to-many update error
What cause the following errors being thrown?
The following code is used, where prUpdate is of class PrBO and have one
to many relationship with PrItemBO class.
db.open(site.getRepository(), Database.OPEN_READ_WRITE);
tx = odmg.newTransaction();
tx.begin();
tx.lock(prUpdate,tx.WRITE);
tx.commit();
Can someone please help???
Thanks in advance!
regards,
Stephen
[DEFAULT] ERROR: Error in operation [set] of object
[PersistentFieldPropertyImpl], java.lang.IllegalArgumentException
[DEFAULT] ERROR: Declaring class
[my.com.shinyang.einout.business.bo.PrItemBO]
[DEFAULT] ERROR: Property Name [prNo]
[DEFAULT] ERROR: Property Type [java.lang.String]
[DEFAULT] ERROR: anObject was class
[my.com.shinyang.einout.purchase.requisition.view.PrItemView]
[DEFAULT] ERROR: aValue was class [java.lang.String]
[org.apache.ojb.odmg.TransactionImpl] ERROR: Locking obj
my.com.shinyang.einout.business.bo.PrBO@694f12 with lock mode 4 failed
null
org.apache.ojb.broker.PersistenceBrokerException
at
org.apache.ojb.broker.metadata.PersistentFieldPropertyImpl.set(Unknown
Source)
at org.apache.ojb.odmg.TransactionImpl.lockCollections(Unknown Source)
at org.apache.ojb.odmg.TransactionImpl.register(Unknown Source)
at org.apache.ojb.odmg.TransactionImpl.lock(Unknown Source)
at
my.com.shinyang.einout.business.PurchaseRequisitionDelegateImpl.updatePR
(PurchaseRequisitionDelegateImpl.java:334)
at
my.com.shinyang.einout.purchase.requisition.PurchaseApprovalEditAction.u
pdate(PurchaseApprovalEditAction.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.j
ava:280)
at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:220
)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:446)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
266)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:260)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:527)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:235
0)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:170)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:40
5)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:380)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:50
8)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:533)
at java.lang.Thread.run(Thread.java:536)
Caused by: java.lang.IllegalArgumentException: object is not an instance
of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
... 49 more
Re: One-to-many update error
Posted by Thomas Mahler <th...@apache.org>.
Hi STephen,
This is a mapping error as indicated by the ERROR messages.
AFAIK PrItemBO does have a property prNo.
The (derived ?) class PrItemView does not have the respective
getter/setter method?
Try to add these getter/setter on PrItemView.
You could also try to use a different PersistentField Implementation in
OJB.properties.
cheers,
Thomas
Stephen Ting wrote:
> What cause the following errors being thrown?
> The following code is used, where prUpdate is of class PrBO and have one
> to many relationship with PrItemBO class.
>
>
> db.open(site.getRepository(), Database.OPEN_READ_WRITE);
> tx = odmg.newTransaction();
> tx.begin();
> tx.lock(prUpdate,tx.WRITE);
> tx.commit();
>
> Can someone please help???
>
> Thanks in advance!
>
> regards,
> Stephen
>
> [DEFAULT] ERROR: Error in operation [set] of object
> [PersistentFieldPropertyImpl], java.lang.IllegalArgumentException
> [DEFAULT] ERROR: Declaring class
> [my.com.shinyang.einout.business.bo.PrItemBO]
> [DEFAULT] ERROR: Property Name [prNo]
> [DEFAULT] ERROR: Property Type [java.lang.String]
> [DEFAULT] ERROR: anObject was class
> [my.com.shinyang.einout.purchase.requisition.view.PrItemView]
> [DEFAULT] ERROR: aValue was class [java.lang.String]
> [org.apache.ojb.odmg.TransactionImpl] ERROR: Locking obj
> my.com.shinyang.einout.business.bo.PrBO@694f12 with lock mode 4 failed
> null
> org.apache.ojb.broker.PersistenceBrokerException
> at
> org.apache.ojb.broker.metadata.PersistentFieldPropertyImpl.set(Unknown
> Source)
> at org.apache.ojb.odmg.TransactionImpl.lockCollections(Unknown Source)
> at org.apache.ojb.odmg.TransactionImpl.register(Unknown Source)
> at org.apache.ojb.odmg.TransactionImpl.lock(Unknown Source)
> at
> my.com.shinyang.einout.business.PurchaseRequisitionDelegateImpl.updatePR
> (PurchaseRequisitionDelegateImpl.java:334)
> at
> my.com.shinyang.einout.purchase.requisition.PurchaseApprovalEditAction.u
> pdate(PurchaseApprovalEditAction.java:129)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at
> org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.j
> ava:280)
> at
> org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:220
> )
> at
> org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
> ocessor.java:446)
> at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
> 266)
> at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
> at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> tionFilterChain.java:247)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> erChain.java:193)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
> e.java:260)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
> nvokeNext(StandardPipeline.java:643)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
> 80)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
> e.java:191)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
> nvokeNext(StandardPipeline.java:643)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
> Base.java:527)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
> nvokeNext(StandardPipeline.java:641)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
> 80)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:235
> 0)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :180)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
> nvokeNext(StandardPipeline.java:643)
> at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
> lve.java:170)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
> nvokeNext(StandardPipeline.java:641)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :171)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
> nvokeNext(StandardPipeline.java:641)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
> 80)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
> java:174)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
> nvokeNext(StandardPipeline.java:643)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
> 80)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at
> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:40
> 5)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
> onnection(Http11Protocol.java:380)
> at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:50
> 8)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
> .java:533)
> at java.lang.Thread.run(Thread.java:536)
> Caused by: java.lang.IllegalArgumentException: object is not an instance
> of declaring class
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> ... 49 more
>