On Jan 4, 2010, at 3:27 PM, Chuck Hill wrote: > > On Jan 4, 2010, at 3:13 PM, Tim Worman wrote: > >> Is it pretty much a certainty that the error I'm experiencing is caused by a >> problem in my models? This problem is a show stopper for me right now. Just >> for refresher, the error is: >> >> Error: java.lang.IllegalStateException: The object with globalID >> _EOIntegralKeyGlobalID[Timesheet (java.lang.Long)10253] could not be found >> in the database. This could be result of a referential integrity problem >> with the database. An empty fault could not be created because the object's >> class could not be determined (e.g. the GID is temporary or it is for an >> abstract entity) > > Does a Timesheet with a 10253 actually exist in the database? Is Timesheet > in an inheritance hierarchy? If so, check very, very carefully for a > duplicated PK.
Timesheet is in an inheritance hierarchy. From the original post, this is how Timesheet is modeled: Timesheet (abstract parent) <-----------------< TimeEntry (just a time entry on a timesheet) TimesheetExempt (child) TimesheetNonExempt(child) Yes, there is a Timesheet with timesheet_id=10253. There are no Timesheet with duplicate timesheet_id. The error is thrown when TimeEntry.timesheet() is called. Tim > Chuck > > >> >> I've tested the equality of the connection dictionaries of the models and >> they are equal. >> >> Tim Worman >> UCLA GSE&IS >> >> >> >> On Dec 31, 2009, at 12:36 AM, Tim Worman wrote: >> >>> On Dec 30, 2009, at 3:18 AM, David Avendasora wrote: >>> >>>> >>>> On Dec 29, 2009, at 9:46 PM, Tim Worman wrote: >>>> >>>>> OK, so, I've reviewed all the prototypes in use, data types, etc. I did >>>>> find some areas where my prototypes were messed up so it was worth it to >>>>> go through it all. The fk and pk both are long values. >>>>> >>>>> But I'm still getting the same error. This solution also doesn't cross >>>>> databases. It does crosses models at this point. But the TimeEntry and >>>>> Timesheet entities are in the same model. >>>> >>>> If TimeEntry and Timesheet are in the same model, what crosses models? The >>>> inheritance hierarchy? What type of Inheritance are you using? >>>> >>>> If you have two models that point to the same database you have to be very >>>> careful to make sure that the connection dictionaries of the two models >>>> are EXACTLY IDENTICAL (yelling intended). This is very, very important. >>>> Otherwise they will likely have different EODatabaseContexts which can >>>> cause all manor of EOF confusion when it comes to assigning keys. >>>> >>>> Read this thread from way back in 2006 where Mike Schrag seemed to have a >>>> similar problem (start at the beginning): >>>> http://lists.apple.com/archives/webobjects-dev//2006/May/msg00530.html >>> >>> Thanks Dave. But I still don't have a solution. I tested all the models >>> that refer to the same database. I'm testing the equality of the connection >>> dictionaries at app launch and they all pass the >>> connectionDictionary().equals() test. There is another JNDI model that >>> obviously refers to an LDAP data source and necessarily the connection >>> dictionary to that is different. >>> >>> Any other ideas about what is causing the problem or troubleshooting >>> techniques you'd employ here? Obviously I'm doing something wrong? >>> >>> Tim >>> >>>> >>>> Dave >>>> >>>> >>>>> >>>>> Tim Worman >>>>> UCLA GSE&IS >>>>> >>>>> >>>>> On Dec 28, 2009, at 4:45 PM, [email protected] wrote: >>>>> >>>>>> Check cross database issues and also name sure the types on your pk and >>>>>> fk match ... I notice that says your fk is a long, make sure that >>>>>> matches the pk of the destination entity. >>>>>> >>>>>> Sent from my iPhone >>>>>> >>>>>> On Dec 28, 2009, at 7:33 PM, "Tim Worman"<[email protected]> wrote: >>>>>> >>>>>>> ...or wondering if I've modeled something incorrectly. >>>>>>> >>>>>>> I've got a model with these Entities: >>>>>>> >>>>>>> Timesheet (abstract parent) >----------------- TimeEntry (just a time >>>>>>> entry on a timesheet) >>>>>>> TimesheetExempt (child) >>>>>>> TimesheetNonExempt(child) >>>>>>> >>>>>>> Everything works fine until a given TimeEntry tries to refer back to >>>>>>> its timesheet by calling timesheet(). At that point I get this error: >>>>>>> >>>>>>> Error: java.lang.IllegalStateException: The object with globalID >>>>>>> _EOIntegralKeyGlobalID[Timesheet (java.lang.Long)10253] could not be >>>>>>> found in the database. This could be result of a referential integrity >>>>>>> problem with the database. An empty fault could not be created because >>>>>>> the object's class could not be determined (e.g. the GID is temporary >>>>>>> or it is for an abstract entity) >>>>>>> >>>>>>> It is true that the GID would be for an abstract entity - Timesheet. >>>>>>> But I assumed that a TimeEntry would not need to know specifically what >>>>>>> variety of Timesheet it is dealing with. I guess the question I have >>>>>>> is, what is the better way to model this? Will it be necessary for me >>>>>>> to model TimeEntryExempt and TimeEntryNonExempt just so the time >>>>>>> entries know which type of timesheet they belong to and don't call the >>>>>>> abstract parent? >>>>>>> >>>>>>> Tim >>>>>>> UCLA GSE&IS >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Do not post admin requests to the list. They will be ignored. >>>>>>> Webobjects-dev mailing list ([email protected]) >>>>>>> Help/Unsubscribe/Update your Subscription: >>>>>>> http://lists.apple.com/mailman/options/webobjects-dev/mschrag%40mdimension.com >>>>>>> >>>>>>> This email sent to [email protected] >>>>> >>>>> _______________________________________________ >>>>> Do not post admin requests to the list. They will be ignored. >>>>> Webobjects-dev mailing list ([email protected]) >>>>> Help/Unsubscribe/Update your Subscription: >>>>> http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40avendasora.com >>>>> >>>>> This email sent to [email protected] >>>>> >>>>> >>>> >>>> David Avendasora >>>> Senior Software Engineer >>>> K12, Inc. >>>> >>>> ***** >>>> WebObjects Documentation Wiki : >>>> http://wiki.objectstyle.org/confluence/display/WO/ >>>> ***** >>>> WebObjects API: >>>> http://developer.apple.com/legacy/mac/library/documentation/MacOSXServer/Reference/WO54_Reference/index.html >>>> ***** >>>> >>> >>> _______________________________________________ >>> Do not post admin requests to the list. They will be ignored. >>> Webobjects-dev mailing list ([email protected]) >>> Help/Unsubscribe/Update your Subscription: >>> http://lists.apple.com/mailman/options/webobjects-dev/lists%40thetimmy.com >>> >>> This email sent to [email protected] >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Webobjects-dev mailing list ([email protected]) >> Help/Unsubscribe/Update your Subscription: >> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net >> >> This email sent to [email protected] > > -- > Chuck Hill Senior Consultant / VP Development > > Practical WebObjects - for developers who want to increase their overall > knowledge of WebObjects or who are trying to solve specific problems. > http://www.global-village.net/products/practical_webobjects > > > > > > > _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
