I'm adding a framework to a Java Client project that has several EOModels and many of those models have cross-model relationships. As the application starts up, I'm getting this error on one of the cross-model relationships:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Server exception: EORelationship(): cannot find entity named StudentFlag for destination of relationship olsStudentFlags in entity Account.
at com.webobjects.eodistribution.client.EODistributedObjectStore._checkReturnValuesForExceptions(EODistributedObjectStore.java:624)
at com.webobjects.eodistribution.client.EODistributedObjectStore.invokeStatelessRemoteMethodWithKeyPath(EODistributedObjectStore.java:1139)
at com.webobjects.eogeneration.client._EORemoteXMLProvider._provideXMLs(_EORemoteXMLProvider.java:35)
at com.webobjects.eogeneration.EOControllerFactory._concreteEvaluateMultipleRules(EOControllerFactory.java:417)
at com.webobjects.eogeneration.EOControllerFactory._evaluateMultipleRules(EOControllerFactory.java:518)
at com.webobjects.eogeneration.EOControllerFactory._concreteGenerateSpecificationsAndActions(EOControllerFactory.java:583)
at com.webobjects.eogeneration.EOControllerFactory._defaultSpecifications(EOControllerFactory.java:649)
at com.webobjects.eogeneration.EOControllerFactory._activateDefaultControllers(EOControllerFactory.java:794)
at com.webobjects.eogeneration.EOControllerFactory.activateDefaultControllers(EOControllerFactory.java:811)
at com.webobjects.eogeneration.EODynamicApplication.finishInitialization(EODynamicApplication.java:126)
at com.webobjects.eoapplication.EOApplication$1.run(EOApplication.java:531)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
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)
I've double checked the relationship and all seems correct. Here's the relationship definition from the .plist:
{
destination = StudentFlag;
isToMany = Y;
joinSemantic = EOInnerJoin;
joins = ({destinationAttribute = studentPid; sourceAttribute = id; });
name = olsStudentFlags;
},
It is as though the server-side application is not completely loading all the models which is causing the relationship not to be able to find the destination Entity.
Anybody have any ideas?
Dave