Re: Problem relationship with 2 eomodels

Clark Mueller <[email protected]> Mon, 02 Nov 2009 19:15:51 -0800
Newsgroups gmane.comp.web.webobjects.devel
Message-ID <[email protected]>
It's a problem if you do anything that would cause EOF to write SQL  
that does a join, which is definitely when you're doing prefetches or  
constructing a qualifier that touches both models. Traversing the  
relationships in memory works. For example, if you have A with a  
relationship to B in separate databases, you should be able to do  
someA.getB() since this will ultimately only require the value of A's  
primary key in B's database when the SQL is generated.

You would probably want to turn on adaptor debug to see what SQL is  
being generated for your particular case, and be prepared to do some  
of the work in memory. From your description it sounds like you're  
fetching EntityAFromModel1 with a qualifier that touches  
EntityCFromModel2, and it's generating the SQL in the database for  
Model1.
	
Clark

On 2009-11-02, at 6:25 PM, Travis Britt wrote:

> It's been a couple years, and my experience was on two different  
> Oracle databases, but IIRC it works so long as you don't try to pre- 
> fetch the relationship. (Or, heaven forbid, create a qualifier that  
> attempts to traverse the relationship.)
>
> tb
>
>
> On Nov 2, 2009, at 4:07 PM, Chuck Hill wrote:
>
>> I recall that having relationships between entities in different  
>> databases is problematic in EOF.  I don't recall ever doing this.   
>> I don't recall if this is completely non-functional, or if there  
>> are just some bugs.  There is no reason that I can think of that it  
>> could not work.
>>
>>
>> Chuck
>>
>>
>> On Oct 29, 2009, at 2:33 AM, Pierre Gilquin wrote:
>>
>>>
>>> Hi all,
>>>
>>> I have 2 eomodels one using MySql and the second
>>> Oracle.
>>>
>>> I have the following Entities : EntityAFromModel1,
>>> EntityBFromModel1and EntityCFromModel2
>>> EntityAFromModel1 has a to-many relationship with
>>> EntityBFromModel1.
>>> EntityBFromModel1 has a to-one relationship
>>> with EntityCFromModel2. This relation crosses the 2 models.
>>>
>>> When fetching EntityAFromModel1, I get the
>>> following error when accessing the to-one relationship to  
>>> EntityCFromModel2 :
>>> java.lang.IllegalStateException: Server exception:
>>> The object with globalID _EOIntegralKeyGlobalID[EntityCFromModel2
>>> (java.lang.Integer)16823]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).
>>>
>>> No SQL statement is send to the Oracle
>>> Database.
>>>
>>> The only thing I find for help is to fetch all
>>> EntityCFromModel2 at the Application start. But it is not very  
>>> practical has
>>> EntityCFromModel2 has a lot of instances. Moreover, I am sure that  
>>> it will still
>>> work a long time after the start.
>>>
>>> I thought also to implement awakeFromFetch in
>>> EntityBFromModel1 in order to fetch the instance needed for the  
>>> relationship but
>>> without success.
>>>
>>>
>>> Do you have a better idea to make this relationship
>>> works between 2 models working ?
>>>
>>>
>>> Thank in advance.
>>>
>>> Pierre
>>> WO 5.2.4 		 	   		
>>> _________________________________________________________________
>>> La Suisse reçoit plus d'espace! Votre disque dur virtuel de 25 Go  
>>> avec Windows Live SkyDrive.
>>> http://skydrive.live.com_______________________________________________
>>> WebObjects-dev mailing list
>>> [email protected]
>>> http://www.omnigroup.com/mailman/listinfo/webobjects-dev
>>
>> -- 
>> 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
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> WebObjects-dev mailing list
>> [email protected]
>> http://www.omnigroup.com/mailman/listinfo/webobjects-dev
>
> _______________________________________________
> WebObjects-dev mailing list
> [email protected]
> http://www.omnigroup.com/mailman/listinfo/webobjects-dev