Hallo,
folgendes Szenario: Es gibt zwei Entitäten „Anrede“ und „Person“. Jeder Person muss eine Anrede zugeordnet werden. Auf Basis der gewählten Anrede wird beim Speichern der Person durch eine Regel ein Wert berechnet und dort abgespeichert.
Anforderung: Wenn in einer Anrede etwas verändert wird, soll bei allen Personen, die diese Anrede referenzieren der oben genannte Wert neu berechnet und aktualisiert werden.
Problem: Wie selektiere ich alle Personen, die eine bestimmte Anrede besitzen? Bisheriger Ansatz innerhalb der Regel beim Speichern einer Anrede:
Integer objectId = server.getObjectId();
// wie heißt nun das Attribut wo die ID der Anrede gespeichert ist?
CollectableComparison condition = server.newGOComparison(„person“, „formofaddress“, ComparisonOperator.EQUAL, objectId);
Collection persons = server.getGenericObjectIds(„person“, condition);
Leider fragt das generierte SQL-Statement das Feld „STRVALUE_STRFORMOFADDRESS“ ab und nicht wie gewünscht das Feld „INTID_STRFORMOFADDRESS“. Was muss ich verändern, um die gewünschten Personen zu erhalten?
Vielen Dank und Grüße,
Matthias