I won't address the crash, but I can explain what it should mean.
Assume you have a column ARTIST_ID in table PAINTING, which is a
foreign key to table ARTIST.
When the ObjEntity was set up, assume an "artistId" attribute was created.
This is a foreign key mapped as an object attribute as opposed to a
relationship "toArtist" from painting to artist.
Normally you don't need direct access to the foreign key, so the
modeler is asking you if you want to get rid of "artistId" and other
such attributes.
On Sun, Jan 31, 2010 at 6:11 PM, Joe Baldwin <jfbaldwi..arthlink.net> wrote:
> Tried to save a project with a new Entity (which had a many to one relationship). When I selected "Save" the following panel was displayed:
>
> Remove Foreign Keys mapped as object attributes?
>
> Not sure what this would accomplish, I selected "Yes", which appears to be the wrong answer because Cayenne Modeler crashed big time. (see auto report below)
>
> Joe
>
> CayenneModeler Info
> Version: cayenne.version
> Build Date: cayenne.build.date
> Exception:
> =================================
> java.lang.OutOfMemoryError: Java heap space
> at java.util.Collections$UnmodifiableCollection.iterator(Collections.java:1006)
> at org.apache.cayenne.map.ObjEntity.getAttributeForDbAttribute(ObjEntity.java:845)
> at org.apache.cayenne.modeler.undo.DbEntitySyncUndoableEdit$MeaningfulFKsUndoableEdit.<init>(DbEntitySyncUndoableEdit.java:96)
> at org.apache.cayenne.modeler.action.DbEntitySyncAction.synchDbEntity(DbEntitySyncAction.java:95)
> at org.apache.cayenne.modeler.action.DbEntitySyncAction.performAction(DbEntitySyncAction.java:60)
> at org.apache.cayenne.modeler.util.CayenneAction.actionPerformed(CayenneAction.java:163)
> at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
> at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
> at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
> at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
> at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
> at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
> at java.awt.Component.processMouseEvent(Component.java:6348)
> at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
> at java.awt.Component.processEvent(Component.java:6113)
> at java.awt.Container.processEvent(Container.java:2085)
> at java.awt.Component.dispatchEventImpl(Component.java:4714)
> at java.awt.Container.dispatchEventImpl(Container.java:2143)
> at java.awt.Component.dispatchEvent(Component.java:4544)
> at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)
> at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
> at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
> at java.awt.Container.dispatchEventImpl(Container.java:2129)
> at java.awt.Window.dispatchEventImpl(Window.java:2475)
> at java.awt.Component.dispatchEvent(Component.java:4544)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
> at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
> at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
> at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
>
>
>
>
This archive was generated by hypermail 2.0.0 : Mon Feb 01 2010 - 11:30:25 EST