Hi Remy,

Is there a reason, not to use createAndInsertObject(ec, SubEntity.class) ?

In think, the WO way would be sth like:

SubEntiy sub = ERXEOControlUtilities.createAndInsertObject(ec, SubEntity.class);
sub.addObjectToBothSidesOfRelationshipWithKey(relation(), "refEntity");

ec.saveChanges();

If you really want to model a polymorphic relationship, the destination of the 
relationship "refEntity" should be EntityAbstract.



Am 24.11.2017 um 11:30 schrieb remy <r...@algodata.fr<mailto:r...@algodata.fr>>:


Hi,

I want make an polymorphic entity.

I have an Entity Abstract named "EntityAbstract" and a subclass Entity named 
"EntitySub" where the qualifier is (refEntityName=‘EntitySub').
I have third Entity named "Relation" that has an relationship with "EntitySub".

I have a problem when :

EOEditingContext editingContext = ERXEC.newEditingContext();


int relationID = Integer.valueOf(relation().primaryKeyInTransaction());

EntityAbstract entityAbstract = 
ERXEOControlUtilities.createAndInsertObject(editingContext(), 
EntityAbstract.class);
entityAbstract.setRefEntityName(EntitySub.ENTITY_NAME);
entityAbstract.setRefEntityID(relationID);

editingContext().saveChanges();

ERXEOControlUtilities.refreshObject(relation());
for (EntityAbstract e : relation().entitySubs())
        System.err.println(e); // Print <your.app.model.EntityAbstract



How to print <Entity pk:"..."> and not <EntityAbstract pk:"..."> ?

I don't want use the class "Entity" for 
ERXEOControlUtilities.createAndInsertObject

Do you have an idea?

I tested :

eo.invalidateAllObjects(); eo.parentObjectStore().invalidateAllObjects(); 
eo.rootObjectStore().invalidateAllObjects();

It does not work...

The project : https://github.com/algodata44/PolymorphicRelationship
Use DB H2

Thx
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      
(Webobjects-dev@lists.apple.com<mailto:Webobjects-dev@lists.apple.com>)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/bock%40salient-doremus.de

This email sent to b...@salient-doremus.de

Mit freundlichen Grüßen

René Bock

--
Telefon: +49 69 650096 18

salient GmbH, Lindleystraße 12, 60314 Frankfurt
Telefon Zentrale: 069 / 65 00 96 - 0  |  
www.salient-doremus.de<http://www.salient-doremus.de>

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to