Zum Inhalt springen
Anjunar/ DOCS

Entwürfe und Kopien

Gespeicherte inaktive Übersetzungen auf einen verwalteten Entwurf kopieren und aktive Felder selbst setzen.

Entwurf

Zuerst die aktive Sprache persistieren

Ein Entwurf ist eine neue verwaltete Entity mit anderer ID. Setze ihre gewöhnlichen Felder für die Session-Sprache, bevor du inaktive Übersetzungen kopierst.

Die übrigen Sprachen kopieren

Führe dies in einer sprachgebundenen Session und Transaktion aus. Der Rückgabewert zählt kopierte Sprachzeilen, keine Felder.

scala
val source = session.find(classOf[Page], sourceId) val draft = new Page draft.id = java.util.UUID.randomUUID() draft.title = source.title session.persist(draft) val copiedLocales: Int = translations.copyInactive(session, source, draft)
Kopierverhalten

Gespeicherte Zeilen kopieren

copyInactive kopiert rohe gespeicherte Werte für jede Quellsprache außer der aktiven Session-Sprache. Es erzeugt keine Fallback-Werte.

Regeln für Zielzeilen
Passende Ziel-Sprachzeilen werden Feld für Feld ersetzt.
Zielsprachen, die in der Quelle fehlen, bleiben erhalten.
Beide Entities müssen von der installierten Factory verwaltet werden und unterschiedliche IDs besitzen.
Tenant-Filter und optimistische Versionen bestehender Zielzeilen gelten weiterhin.
Geladener Zustand bleibt geladen

Die Kopie aktualisiert keine bereits geladenen Felder der beiden verwalteten Entities. Verwende eine neue Session, um einen geänderten Fallback zu sehen.