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 !!!!!!







































































Reply via email to