Hi! I'm largelly using 1:N and M:N relationships in my project. I'll try to give you a little tips:
1) Use your N parts as Collection. If you are using PersistentFieldPropertyImpl, then you should have public class A { private Collection myNpart; private Integer id; public void setId( Integer newId ) { id = newId; } public Integer getId( ) {return id;} public void setCol( Collection newCol ) { myNpart = newCol; } public Collection getCol( ) { return myNpart; } } public class B { private Integer id; private Integer idA; private A a; public void setId( Integer newId ) { id = newId; } public Integer getId( ) {return id;} public void setIdA( Integer newIdA ) { idA = newIdA; } public Integer getIdA( ) {return idA;} public void setA( A newA ) { a = newA; } public A getA( ) { return a; } } 2) Your .xml should be similar to: <class-descriptor class="A" table="TB_A"> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" /> <collection-descriptor name="col" element-class-ref="B"> <inverse-foreignkey field-ref="idA"/> </collection-descriptor> </class-descriptor> <class-descriptor class="B" table="TB_B"> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" /> <field-descriptor name="idA" column="ID_A" jdbc-type="INTEGER" primarykey="true" /> <reference-descriptor name="a" class-ref="A"> <foreignkey field-ref="idA"/> </reference-descriptor> </class-descriptor> And this should work. You don't need to specify auto-retrieve, because by default it's true. Auto-update and auto-delete are false by default. Some people like to work with specialized collection classes. In particular, I work always with RemovalAwareList (a collection that know how to persists deletes in the collection). To archieve this, your should be more specific in collection descriptor like this: <collection-descriptor name="col" collection-class="org.apache.ojb.broker.util.collections.RemovalAwareList" element-class-ref="B"> <inverse-foreignkey field-ref="idA"/> </collection-descriptor> Of course, you could mixes the several other options that OJB offers to you, like auto-increment, proxies and so on. In this case, I'll recomendly you to use cvs HEAD that has several fixes for these options over rc3. Best regards, Edson Richter ----- Original Message ----- From: "Christian Eugster" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, July 07, 2003 11:31 AM Subject: 1:m-relation i am working on a mysql-database and ojb rc3. i have an 1:m-relation with the following setting in the collection-desriptor of the parent object: auto-retrieve="true" when i try to retrieve an parent-object i get the error-message as follows: (setting auto-retrieve to false there is no error). what am i doing wrong? java.lang.IllegalArgumentException at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl. java:63) at java.lang.reflect.Field.set(Field.java:519) at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl.set(Un known Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery( Unknown Source) at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183) at ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j ava:58) at ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50) at ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39 ) at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34) at ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28) at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58) at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39) at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67) at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126) at ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99) at ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90) at ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197) at ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156) at java.awt.Component.processKeyEvent(Component.java:5051) at javax.swing.JComponent.processKeyEvent(JComponent.java:2385) at java.awt.Component.processEvent(Component.java:4902) at java.awt.Container.processEvent(Container.java:1566) at java.awt.Component.dispatchEventImpl(Component.java:3598) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688 ) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa nager.java:593) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu sManager.java:765) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu sManager.java:698) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag er.java:559) at java.awt.Component.dispatchEventImpl(Component.java:3468) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Window.dispatchEventImpl(Window.java:1585) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja va:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java :150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99) rethrown as org.apache.ojb.broker.metadata.MetadataException: Error setting field:positions in object:ch.eugster.pos.db.Receipt at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl.set(Un known Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery( Unknown Source) at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183) at ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j ava:58) at ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50) at ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39 ) at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34) at ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28) at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58) at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39) at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67) at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126) at ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99) at ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90) at ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197) at ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156) at java.awt.Component.processKeyEvent(Component.java:5051) at javax.swing.JComponent.processKeyEvent(JComponent.java:2385) at java.awt.Component.processEvent(Component.java:4902) at java.awt.Container.processEvent(Container.java:1566) at java.awt.Component.dispatchEventImpl(Component.java:3598) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688 ) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa nager.java:593) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu sManager.java:765) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu sManager.java:698) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag er.java:559) at java.awt.Component.dispatchEventImpl(Component.java:3468) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Window.dispatchEventImpl(Window.java:1585) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja va:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java :150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99) Caused by: java.lang.IllegalArgumentException at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl. java:63) at java.lang.reflect.Field.set(Field.java:519) ... 46 more java.lang.IllegalArgumentException at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl. java:63) at java.lang.reflect.Field.set(Field.java:519) at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl.set(Un known Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery( Unknown Source) at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183) at ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j ava:58) at ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50) at ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39 ) at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34) at ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28) at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58) at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39) at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67) at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126) at ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99) at ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90) at ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197) at ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156) at java.awt.Component.processKeyEvent(Component.java:5051) at javax.swing.JComponent.processKeyEvent(JComponent.java:2385) at java.awt.Component.processEvent(Component.java:4902) at java.awt.Container.processEvent(Container.java:1566) at java.awt.Component.dispatchEventImpl(Component.java:3598) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688 ) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa nager.java:593) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu sManager.java:765) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu sManager.java:698) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag er.java:559) at java.awt.Component.dispatchEventImpl(Component.java:3468) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Window.dispatchEventImpl(Window.java:1585) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja va:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java :150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99) rethrown as org.apache.ojb.broker.metadata.MetadataException: Error setting field:positions in object:ch.eugster.pos.db.Receipt at org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDefaultImpl.set(Un known Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery( Unknown Source) at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183) at ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j ava:58) at ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50) at ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39 ) at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34) at ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28) at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58) at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39) at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67) at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126) at ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99) at ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90) at ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197) at ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156) at java.awt.Component.processKeyEvent(Component.java:5051) at javax.swing.JComponent.processKeyEvent(JComponent.java:2385) at java.awt.Component.processEvent(Component.java:4902) at java.awt.Container.processEvent(Container.java:1566) at java.awt.Component.dispatchEventImpl(Component.java:3598) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688 ) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa nager.java:593) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu sManager.java:765) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu sManager.java:698) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag er.java:559) at java.awt.Component.dispatchEventImpl(Component.java:3468) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Window.dispatchEventImpl(Window.java:1585) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja va:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java :150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99) Caused by: java.lang.IllegalArgumentException at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl. java:63) at java.lang.reflect.Field.set(Field.java:519) ... 46 more java.util.NoSuchElementException: Could not obtain next object: Error setting field:positions in object:ch.eugster.pos.db.Receipt at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery( Unknown Source) at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183) at ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j ava:58) at ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50) at ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39 ) at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34) at ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28) at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58) at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39) at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67) at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126) at ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99) at ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90) at ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197) at ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156) at java.awt.Component.processKeyEvent(Component.java:5051) at javax.swing.JComponent.processKeyEvent(JComponent.java:2385) at java.awt.Component.processEvent(Component.java:4902) at java.awt.Container.processEvent(Container.java:1566) at java.awt.Component.dispatchEventImpl(Component.java:3598) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688 ) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa nager.java:593) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu sManager.java:765) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu sManager.java:698) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag er.java:559) at java.awt.Component.dispatchEventImpl(Component.java:3468) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Window.dispatchEventImpl(Window.java:1585) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja va:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java :150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99) rethrown as org.apache.ojb.broker.PersistenceBrokerException: Could not obtain next object: Error setting field:positions in object:ch.eugster.pos.db.Receipt at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery( Unknown Source) at ch.eugster.pos.db.Receipt.getReceiptsByUserState(Receipt.java:183) at ch.eugster.pos.client.gui.ReceiptTableBlock.loadReceipts(ReceiptTableBlock.j ava:58) at ch.eugster.pos.client.gui.ReceiptTableBlock.init(ReceiptTableBlock.java:50) at ch.eugster.pos.client.gui.ReceiptTableBlock.<init>(ReceiptTableBlock.java:39 ) at ch.eugster.pos.client.gui.ChildrenBlock.init(ChildrenBlock.java:34) at ch.eugster.pos.client.gui.ChildrenBlock.<init>(ChildrenBlock.java:28) at ch.eugster.pos.client.gui.UserPanel.init(UserPanel.java:58) at ch.eugster.pos.client.gui.UserPanel.<init>(UserPanel.java:39) at ch.eugster.pos.client.gui.TabPanel.addUser(TabPanel.java:67) at ch.eugster.pos.client.gui.TabPanel.userLoggedIn(TabPanel.java:126) at ch.eugster.pos.client.gui.LoginPanel.fireLoginEvent(LoginPanel.java:99) at ch.eugster.pos.client.gui.LoginPanel.actionPerformed(LoginPanel.java:90) at ch.eugster.pos.client.gui.LoginBlock.fireActionEvent(LoginBlock.java:197) at ch.eugster.pos.client.gui.LoginBlock.keyPressed(LoginBlock.java:156) at java.awt.Component.processKeyEvent(Component.java:5051) at javax.swing.JComponent.processKeyEvent(JComponent.java:2385) at java.awt.Component.processEvent(Component.java:4902) at java.awt.Container.processEvent(Container.java:1566) at java.awt.Component.dispatchEventImpl(Component.java:3598) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1688 ) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa nager.java:593) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu sManager.java:765) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu sManager.java:698) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag er.java:559) at java.awt.Component.dispatchEventImpl(Component.java:3468) at java.awt.Container.dispatchEventImpl(Container.java:1623) at java.awt.Window.dispatchEventImpl(Window.java:1585) at java.awt.Component.dispatchEvent(Component.java:3439) at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja va:197) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java :150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136) at java.awt.EventDispatchThread.run(EventDispatchThread.java:99) Caused by: java.util.NoSuchElementException: Could not obtain next object: Error setting field:positions in object:ch.eugster.pos.db.Receipt at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) ... 40 more --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.497 / Virus Database: 296 - Release Date: 4/7/2003 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]