AndFri
I'm new here

Verbundene Datenbankeinträge per Script freigeben

Jump to solution

Hallo,

ich würde gerne mit einen Skript einen Datensatz in Tabelle A und den damit verbundenen Datensatz aus Tabelle B freigeben.  Referenzierte Medien kann ich mit meinen Skript schon freigeben nur, habe ich leider noch keinen Weg gefunden, um an den Datensatz aus Tabelle B zu kommen. Hätte da jemand vllt. einen Hinweis?

Vielen Dank

Andreas Friesicke

0 Kudos
1 Solution

Accepted Solutions
Peter_Jodeleit
Crownpeak employee

Im beigelegten Schema ist die Benennung der Attribute unglücklich gewählt. Das Attribut, welches auf "Tabelle B" zeigt, heißt "TabelleA" Smiley Sad

Ich setze im folgenden mal vorraus, das du das Attribut nach "b" umbenennst, dann wird es klarer Smiley Wink

Session s = ...;

Entity a = .... ; // Entity aus "Tabelle A"

s.release(a);

if (a.getValue("b") != null) {

    s.release( (Entity) a.getValue("b"));

}

s.commit();

Peter

View solution in original post

0 Kudos
4 Replies
Peter_Jodeleit
Crownpeak employee

Im beigelegten Schema ist die Benennung der Attribute unglücklich gewählt. Das Attribut, welches auf "Tabelle B" zeigt, heißt "TabelleA" Smiley Sad

Ich setze im folgenden mal vorraus, das du das Attribut nach "b" umbenennst, dann wird es klarer Smiley Wink

Session s = ...;

Entity a = .... ; // Entity aus "Tabelle A"

s.release(a);

if (a.getValue("b") != null) {

    s.release( (Entity) a.getValue("b"));

}

s.commit();

Peter
0 Kudos

Vielen Dank für die schnelle Antwort. Gibt es auch eine Möglichkeit, das auch dynamisch zu machen? Also ohne "b", bei den Medien konnte ich z.B. über getReferencedObject darauf zugreifen.

0 Kudos

Du meinst "generisch"? Die beste Option ist es, die Kante "aggregierend" zu definieren. Aggregierte Datensätze bilden eine "Komposition" und wenn der "Haupt"-Datensatz freigegeben wird, werden die "zugehörigen" Datensätze automatisch mit freigegeben (analog beim Löschen).

Allerdings muss man für abhängige Datensätze auch die Pflegemaske entsprechend gestalten, im obigen Beispiel kann für die Kante nach "B" z.B. dann DATASET statt CMS_INPUT_COMBOBOX verwendet werden. Ist aber in der Doku alles beschrieben.

Peter
0 Kudos

Genau. Danke, für den Hinweis.

Mal sehen ob ich das so machen kann, da ich das löschen unabhängig von einander machen möchte.

0 Kudos