Major
Nice to have
Detail
Detail
#25145
Storage-Mapping für Referenz-Storage
Für Datentypen kann man ein tl:StorageMapping angeben, welches ein Fachobjekt in einem Datenbank Wert überträgt, z.B. eine "java.util.Country" in die String-Repräsentanz.
Es soll möglich sein in einem solchen Attribut auch ein TLObject als Datenbank Wert haben zu können.
Beispiel
Ein Daten-Typ hat als Applikations-Wert ein Objekt RemoteDocument das einen eindeutigen Identifier hat:
<datatype name="RemoteDocument" db_type="string" kind="Custom" />
Ein Attribut mit dem Typ RemoteDocument würde in der Datenbank normalerweise den String-Identifier speichern.
In der Datenbank soll dies nun als eigenständiges Objekt abgespeichert werden um z.B. extern noch Beziehungen zwischen diesen Objekten anlegen zu können. Dann kann ein tl:StorageMapping DocumentStorageMapping implementiert werden, welches ein RemoteDocument in ein tl:TLObject verwandelt und eine Attribut-Definition könnte sein:
<property name="document" type="RemoteDocument" > <annotations> <storage-algorithm> <singleton-link-storage> <storage-mapping class="DocumentStorageMapping"/> </singleton-link-storage> </storage-algorithm> </annotations> </property>
Dieses Attribut hätte als Applikationswert ein RemoteDocument, der Wert wäre in der Datenbank aber als tl:TLObject abgespeichert.
Test
Kein Test.