Re: Error with Cross-Model/Database Relationship
Re: Error with Cross-Model/Database Relationship
- Subject: Re: Error with Cross-Model/Database Relationship
- From: Chuck Hill <email@hidden>
- Date: Wed, 3 Dec 2008 14:28:56 -0800
On Dec 2, 2008, at 11:03 AM, David Avendasora wrote:
This is a simple one-attribute PK to FK relationship. No fancy
qualifiers or anything else.
Should this work or no?
Probably? Let's take a look at the error message:
It should. I have a very similar setup working elsewhere in my
application. I knew I wasn't hallucinating, even if that does make
me sound like you. :)
Careful there lad. I have the False Memory corner of this here list
staked out. You don't want to be starting any trouble around here.
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).
The GID is not temporary. Is LotCode abstract? Just covering off
the blatantly obvious here.
No, it's not abstract. But it is a super class (using Single Table
Inheritance) of the Object that this is actually returning. In this
particular case, the object returned is a "ManufacturedPart" which
"is-a" LotCode. That shouldn't matter either, though, right?
Right now, today, I am not sure.
Is there a full stack trace you are hiding from us? It also might
be that EOF is looking in the wrong object store.
I wouldn't say "hiding" just trying to be brief - it was in one of
the previous messages. Anyway:
Dec 02 08:24:34 BakeryManagementJavaClient[60404]
(ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Begin Internal
Transaction
Dec 02 08:24:34 BakeryManagementJavaClient[60404]
(ERXNSLogLog4jBridge.java:46) DEBUG NSLog - evaluateExpression:
<com.webobjects.jdbcadaptor.MicrosoftPlugIn$MicrosoftExpression:
"SELECT t0.External_Lot_Code_ID, t0.External_Lot_Code_Value,
t0.External_Part_Number, t0.Lot_Code_ID FROM dbo.MSDynamics_Lot_Code
t0 WHERE UPPER(t0.External_Lot_Code_Value) LIKE UPPER(?) ESCAPE '\'"
withBindings: 1:"8P31808269%"(externalLotCodeValue)>
Dec 02 08:24:37 BakeryManagementJavaClient[60404]
(ERXNSLogLog4jBridge.java:46) DEBUG NSLog - 45 row(s) processed
Dec 02 08:24:37 BakeryManagementJavaClient[60404]
(ERXNSLogLog4jBridge.java:46) DEBUG NSLog - === Commit Internal
Transaction
Dec 02 08:24:37 BakeryManagementJavaClient[60404]
(ERXDatabaseContextDelegate.java:153) INFO
er.transaction.adaptor.Exceptions - Database Exception occured:
java.lang.IllegalStateException: The object with globalID
_EOIntegralKeyGlobalID[LotCode (java.lang.Long)143937] 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).
Dec 02 08:24:37 BakeryManagementJavaClient[60404]
(ERXEntityDependencyOrderingDelegate.java:69) ERROR
com.webobjects.eoaccess.ERXEntityDependencyOrderingDelegate -
Unexpected non-EOGeneralAdaptorException exception
java.lang.IllegalStateException: The object with globalID
_EOIntegralKeyGlobalID[LotCode (java.lang.Long)143937] 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).
at
com
.webobjects
.eoaccess
.EODatabaseContext._fetchSingleObject(EODatabaseContext.java:3583)
at
com
.webobjects
.eoaccess
.EODatabaseContext
._objectFaultWithSnapshotRelationshipEditingContext
(EODatabaseContext.java:2532)
at
com
.webobjects
.eoaccess
.EODatabaseContext
.initializeObjectRowEntityEditingContext(EODatabaseContext.java:2433)
at
com
.webobjects
.eoaccess.EODatabaseContext.initializeObject(EODatabaseContext.java:
3734)
at
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.initializeObject(EOObjectStoreCoordinator.java:646)
at
com
.webobjects
.eocontrol.EOEditingContext.initializeObject(EOEditingContext.java:
3805)
at er.extensions.eof.ERXEC.initializeObject(ERXEC.java:1047)
at com.webobjects.eoaccess.EODatabaseChannel
$
_EODatabaseChannelFetchResult
.initializeObjects(EODatabaseChannel.java:478)
at
com
.webobjects
.eoaccess
.EODatabaseContext
._objectsWithFetchSpecificationEditingContext(EODatabaseContext.java:
3240)
at
com
.webobjects
.eoaccess
.EODatabaseContext
.objectsWithFetchSpecification(EODatabaseContext.java:3346)
at
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.objectsWithFetchSpecification(EOObjectStoreCoordinator.java:539)
at
com
.webobjects
.eocontrol
.EOEditingContext
.objectsWithFetchSpecification(EOEditingContext.java:4114)
at er.extensions.eof.ERXEC.objectsWithFetchSpecification(ERXEC.java:
1109)
at
com
.webobjects
.eocontrol
.EOEditingContext
.objectsWithFetchSpecification(EOEditingContext.java:4500)
I think I will guess that this is a bug. What does the fetch spec and
qualifier look like again?
Chuck
--
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@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden