bian.xiaochun:
So, is the jdk version of your testClient the same as the jdk version of the
jboss?
Smilefish
[EMAIL PROTECTED]
---------- Reply ----------
在 2003年7月24日 14:13:13 您写道:
> Hi,I faced a small problem:
>
> Refer to the Tutorial,I created two tables and JavaBeans.
>
> class Account :
> protected Integer userID;
> protected String userName;
> protected String userPassword;
> protected Vector userBills = null;
>
> ...
>
> class Bill :
>
> protected Integer flowNo;
> protected Integer userID;
> protected String telephoneNumber;
> protected Integer lastTime;
> protected Double fee;
> protected InterfaceAccount account;
>
> ...
>
> Repository.xml:
>
> <class-descriptor
> class="webserverdemo.Account"
> table="account"
> >
> ......
>
> <collection-descriptor
> name="userBills"
> element-class-ref="webserverdemo.Bill"
> collection-class="java.util.Vector"
> auto-retrieve="true"
> auto-update="true"
> auto-delete="true"
> >
> <inverse-foreignkey field-ref="userID"/>
> </collection-descriptor>
>
>
> <class-descriptor
> class="webserverdemo.Bill"
> table="bill"
> >
>
> ......
>
> <reference-descriptor
> name="account"
> class-ref="webserverdemo.Account"
> >
> <foreignkey field-ref="userID"/>
> </reference-descriptor>
>
>
> TestClient.java
>
> ...
>
> Bill a = new Bill(new Integer(1),new Integer(1),"1234567",new
> Integer(100),new Double(1.20));
> Bill b = new Bill(new Integer(2),new Integer(1),"123456789",new
> Integer(200),new Double(1.30));
>
> Account account = new Account(new Integer(1),"bxc","k4hvd");
> account.addBill(a);
> account.addBill(b);
>
> The Result is :In my DB(MySQL),in table Bill,column "userID" is NULL
> .
>
> and if execute the following code even if I update table bill and
> set
> column "userID"
>
> the correct value,JBOSS3 will throws th exception:
>
>
> Account queryAccount = new Account();
> queryAccount.setUserID(new Integer(1));
> Query query = new QueryByCriteria(queryAccount);
> account = (Account)broker.getObjectByQuery(query);
>
> Exception:
>
> 14:07:14,471 ERROR [STDERR] java.lang.ClassCastException: java.util.
> Vector
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(U
> nknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(
> Unknown Source)
> at
> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(U
> nknown Source)
> at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown
> Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unk
> nown Source)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQue
> ry(Unknown Source)
> at
> webserverdemo.WebServerDemoBean.reportQuery(WebServerDemoBean.java:16
> 9)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
> tatelessSessionContainer.java:660)
> at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
> ke(CachedConnectionInterceptor.java:186)
> at
> org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
> elessSessionInstanceInterceptor.java:77)
> at
> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
> rceptor.java:107)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
> torCMT.java:237)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:9
> 8)
> at
> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
> java:130)
> at
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
> at
> org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContai
> ner.java:313)
> at org.jboss.ejb.Container.invoke(Container.java:738)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
> at
> org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
> 383)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
> at sun.rmi.transport.Transport$1.run(Transport.java:152)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:148)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> 65)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> .java:706)
> at java.lang.Thread.run(Thread.java:484)
> rethrown as org.apache.ojb.broker.PersistenceBrokerException:
> java.util.Vector
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(U
> nknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(
> Unknown Source)
> at
> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(U
> nknown Source)
> at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown
> Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unk
> nown Source)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQue
> ry(Unknown Source)
> at
> webserverdemo.WebServerDemoBean.reportQuery(WebServerDemoBean.java:16
> 9)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
> tatelessSessionContainer.java:660)
> at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
> ke(CachedConnectionInterceptor.java:186)
> at
> org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
> elessSessionInstanceInterceptor.java:77)
> at
> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
> rceptor.java:107)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
> torCMT.java:237)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:9
> 8)
> at
> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
> java:130)
> at
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
> at
> org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContai
> ner.java:313)
> at org.jboss.ejb.Container.invoke(Container.java:738)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
> at
> org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
> 383)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
> at sun.rmi.transport.Transport$1.run(Transport.java:152)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:148)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> 65)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> .java:706)
> at java.lang.Thread.run(Thread.java:484)
> 14:07:14,902 INFO [STDOUT] [org.apache.ojb.broker.accesslayer.
> RsIterator]
> ERROR
> :
> 14:07:14,912 INFO [STDOUT] java.util.Vector
> 14:07:14,922 ERROR [STDERR] java.lang.ClassCastException: java.util.
> Vector
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(U
> nknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(
> Unknown Source)
> at
> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(U
> nknown Source)
> at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown
> Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unk
> nown Source)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQue
> ry(Unknown Source)
> at
> webserverdemo.WebServerDemoBean.reportQuery(WebServerDemoBean.java:16
> 9)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
> tatelessSessionContainer.java:660)
> at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
> ke(CachedConnectionInterceptor.java:186)
> at
> org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
> elessSessionInstanceInterceptor.java:77)
> at
> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
> rceptor.java:107)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
> torCMT.java:237)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:9
> 8)
> at
> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
> java:130)
> at
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
> at
> org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContai
> ner.java:313)
> at org.jboss.ejb.Container.invoke(Container.java:738)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
> at
> org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
> 383)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
> at sun.rmi.transport.Transport$1.run(Transport.java:152)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:148)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> 65)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> .java:706)
> at java.lang.Thread.run(Thread.java:484)
> rethrown as org.apache.ojb.broker.PersistenceBrokerException:
> java.util.Vector
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(U
> nknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(
> Unknown Source)
> at
> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(U
> nknown Source)
> at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown
> Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unk
> nown Source)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQue
> ry(Unknown Source)
> at
> webserverdemo.WebServerDemoBean.reportQuery(WebServerDemoBean.java:16
> 9)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
> tatelessSessionContainer.java:660)
> at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
> ke(CachedConnectionInterceptor.java:186)
> at
> org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
> elessSessionInstanceInterceptor.java:77)
> at
> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
> rceptor.java:107)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
> torCMT.java:237)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:9
> 8)
> at
> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
> java:130)
> at
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
> at
> org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContai
> ner.java:313)
> at org.jboss.ejb.Container.invoke(Container.java:738)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
> at
> org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
> 383)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
> at sun.rmi.transport.Transport$1.run(Transport.java:152)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:148)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> 65)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> .java:706)
> at java.lang.Thread.run(Thread.java:484)
> 14:07:15,413 ERROR [LogInterceptor] RuntimeException:
> java.util.NoSuchElementException: Could not obtain next object:
> java.util.Vector
>
> at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown
> Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unk
> nown Source)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQue
> ry(Unknown Source)
> at
> webserverdemo.WebServerDemoBean.reportQuery(WebServerDemoBean.java:16
> 9)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
> tatelessSessionContainer.java:660)
> at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
> ke(CachedConnectionInterceptor.java:186)
> at
> org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
> elessSessionInstanceInterceptor.java:77)
> at
> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
> rceptor.java:107)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
> torCMT.java:237)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:9
> 8)
> at
> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
> java:130)
> at
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
> at
> org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContai
> ner.java:313)
> at org.jboss.ejb.Container.invoke(Container.java:738)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
> at
> org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
> 383)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
> at sun.rmi.transport.Transport$1.run(Transport.java:152)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:148)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> 65)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> .java:706)
> at java.lang.Thread.run(Thread.java:484)
> rethrown as
> org.apache.ojb.broker.PersistenceBrokerException: Could not obtain next
> object:
> java.util.Vector
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery
> (Unknown Source)
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unk
> nown Source)
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQue
> ry(Unknown Source)
> at
> webserverdemo.WebServerDemoBean.reportQuery(WebServerDemoBean.java:16
> 9)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
> tatelessSessionContainer.java:660)
> at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
> ke(CachedConnectionInterceptor.java:186)
> at
> org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
> elessSessionInstanceInterceptor.java:77)
> at
> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
> rceptor.java:107)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
> torCMT.java:237)
> at
> org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:9
> 8)
> at
> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
> java:130)
> at
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
> at
> org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContai
> ner.java:313)
> at org.jboss.ejb.Container.invoke(Container.java:738)
> at
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
> at
> org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
> 383)
> at java.lang.reflect.Method.invoke(Native Method)
> at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
> at sun.rmi.transport.Transport$1.run(Transport.java:152)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:148)
> at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> 65)
> at
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> .java:706)
> at java.lang.Thread.run(Thread.java:484)
>
>
>
> Thank you !!!!!!
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]