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 protected]> 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 protected])
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/mailinglists%40kataputt.com
> 
> This email sent to [email protected]



Markus Ruggiero
[email protected]
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 protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to