Re: [SOLVED]Rép : Re: Relationship many-to-many issue
Re: [SOLVED]Rép : Re: Relationship many-to-many issue
- Subject: Re: [SOLVED]Rép : Re: Relationship many-to-many issue
- From: Raymond NANEON <email@hidden>
- Date: Mon, 08 Apr 2013 19:50:18 +0200
Thanks Chuck to clarify about this problem.
I know now what to do when we got this kind of issue.
Ray
Envoyé de mon iPad
Le 8 avr. 2013 à 17:33, Chuck Hill <email@hidden> a écrit :
>
> On 2013-04-08, at 12:45 AM, Raymond NANEON wrote:
>
>> Hi List,
>>
>> I deleted many-2-many relationship created by reverse engineering, deleted joined table and recreate relationship and joined table has been created automatically and it works fine.
>>
>> My question is why the relationship one-2-many create by everse engineering works fine and the relationship many-2-many don't work?
>
> Likely your database design is different from what EOF normally uses and it got confused when reverse engineering. Or the reverse engineering code has a bug. That code does not get used every day, so bugs are a possibility.
>
> Chuck
>
>
>>
>> Thanks a lot for all
>> Envoyé depuis iCloud
>>
>> Le 05 avr 2013 à 20:31, Ray Kiddy <email@hidden> a écrit :
>>
>>>
>>> On Apr 5, 2013, at 9:04 AM, Raymond NANEON wrote:
>>>
>>>> Hi Markus,
>>>>
>>>> Thanks for your advices. i going to try it
>>>> Ray
>>>>
>>>> Envoyé de mon iPad
>>>
>>> Whenever I bump into this, and annoyingly, it still does happen once in a while, the thing to fix is either:
>>>
>>> - one of the 4 underlying relationships are marked as a class property, or
>>>
>>> - one of the underlying relationships into the join table does not have 'owns destination' and 'propagate primary key' set.
>>>
>>> Either of these can cause it. I do not let eclipse create many-to-many relationships for me anymore. I just do it myself. Maybe I have had enough practice and screwed it up enough times that I now know what to avoid.
>>>
>>> - ray
>>>
>>>> Le 5 avr. 2013 à 17:43, Markus Ruggiero <email@hidden> a écrit :
>>>>
>>>>> As others already pointed out your many-2-many looks strange.
>>>>>
>>>>> Delete your all relationships from and to your join entity EORepartDomMatiere. Then delete this entity as well.
>>>>> Click once on entity EOMatiere and "create new Relationship". Select in the upcoming dialog on the right side the destination entity EODomaine. Underneath both entities check "to-many". The dialog changes and proposes to create a join entity as well a flattened relationship. Accept things as they are and your model is ok. Do not change anything in the model (visibility of the generated relationships, also do not assign a specific class to the join entity, leave it as EOGenericRecord).
>>>>>
>>>>> In your code do something like
>>>>>
>>>>> EOMatiere myMatiere = ...
>>>>> EODomaine myDomaine = ...
>>>>> myMatiere.addObjectToBothSidesOfRelationshipWithKey (myDomaine, EOMatiere.DOMAINES_KEY);
>>>>>
>>>>> Let EOF take care of creating the join table record - it works, I can assure you!
>>>>>
>>>>> Have fun,
>>>>> ---markus---
>>>>>
>>>>> On 05.04.2013, at 15:55, Raymond NANEON <email@hidden> wrote:
>>>>>
>>>>>> Hi List,
>>>>>>
>>>>>> I have a table "EORepartDomMatiere" which has like pk foreign key of 2 others tables (EODomaine & EOMatiere).
>>>>>> <mat1.jpg>
>>>>>> <reparMat1.jpg>
>>>>>> <dom1.jpg>
>>>>>> <reparDom1.jpg>
>>>>>> So when I want to save in the many-to-many table whith ec.saveChanges();
>>>>>>
>>>>>> ...
>>>>>> repart.setMatiereRelationship(mat);
>>>>>> repart.setDomaineRelationship(dom);
>>>>>> if (ec.hasChanges())
>>>>>> ec.saveChanges();
>>>>>> ...
>>>>>>
>>>>>> I got this Exception : java.lang.IllegalStateException: Adaptor er.extensions.jdbc.ERXJDBCAdaptor@3e2ad6a0 failed to provide new primary keys for entity 'EORepartDomMatiere'
>>>>>> at com.webobjects.eoaccess.EODatabaseContext.prepareForSaveWithCoordinator(EODatabaseContext.java:5713)
>>>>>> at com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContext(EOObjectStoreCoordinator.java:370)
>>>>>> at com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3192)
>>>>>> at er.extensions.eof.ERXEC._saveChanges(ERXEC.java:1176)
>>>>>> at er.extensions.eof.ERXEC.saveChanges(ERXEC.java:1099)
>>>>>> at org.utt.rfcct.serveur.components.assistants.modules.ModuleAdminDomaine.rePartDomMat(ModuleAdminDomaine.java:349)
>>>>>> at org.utt.rfcct.serveur.components.assistants.modules.ModuleAdminDomaine.uneMatiereEnregistrer(ModuleAdminDomaine.java:314)
>>>>>>
>>>>>> Why the adaptor want to create a new primary key? What's wrong?
>>>>>>
>>>>>> Thanks for your help
>>>>>> Envoyé depuis iCloud
>>>>>> _______________________________________________
>>>>>> 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
>>>>>
>>>>>
>>>>>
>>>>> Markus Ruggiero
>>>>> email@hidden
>>>>>
>>>>> Check out the new book about Project Wonder and WebObjects on http://www.kataputt.com/
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>> _______________________________________________
>>> 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
>> _______________________________________________
>> 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
>
> --
> Chuck Hill
> Executive Managing Partner, VP Development and Technical Services
>
> 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/gvc/practical_webobjects
>
> Global Village Consulting ranks 13th in 2012 in BIV's Top 100 Fastest Growing Companies in B.C!
> Global Village Consulting ranks 76th in 24th annual PROFIT 200 ranking of Canada’s Fastest-Growing Companies by PROFIT Magazine!
>
>
>
>
>
>
>
>
>
>
>
_______________________________________________
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