In älteren Datenbanktabellen haben wir nummerierte Spalten wie C1, C2, C3, C100 oder M1, M2, M3, M100.
Diese Spalten repräsentieren BLOB-Daten.Kartendatenbank spalte1, spalte2, spalteN zu einer Sammlung von Elementen
Es ist nicht möglich, diese Datenbank zu ändern.
Mithilfe von JPA Embeddable ordnen wir alle Spalten einzelnen Feldern zu. Und während des Einbettens überschreiben wir Namen mit 100 Override-Annotationen.
Vor kurzem haben wechselten wir Hibernate und ich habe Dinge wie UserCollectionType und CompositeUserType gefunden. Aber ich habe keine Anwendungsfälle gefunden, die meinen ähneln.
Ist es möglich, einige Benutzertypen mit Hilfe von Hibernate zu implementieren, um ein Bündel von Spalten einer Sammlung zuordnen zu können ohne zusätzliche Abfrage?
Edit:
Wie Sie wahrscheinlich die Namen von Spalten bemerkt kann von Tisch zu Tisch unterscheiden. Ich möchte einen Typ wie "LegacyArray" erstellen, ohne dass ich alle @Columns jedes Mal angeben muss, wenn ich diesen Typ verwende. Aber stattdessen würde ich
@Type(type = "LegacyArrayUserType",
parameters =
{
@Parameter(name = "prefix", value = "A"),
@Parameter(name = "size", value = "128")
})
List<Integer> legacyA;
@Type(type = "LegacyArrayUserType",
parameters =
{
@Parameter(name = "prefix", value = "B"),
@Parameter(name = "size", value = "64")
})
List<Integer> legacyB;
Das Problem ist, ich möchte nicht alle Namen von mir selbst angeben. –
Vielleicht war ich nicht klar in meiner Antwort, aber ich denke nicht, dass Sie in jedem Fall würden. Welche Option hast du angeschaut? –
"... ordnen Sie Ihre C1, C2, C3 Eigenschaften einer Karte zu ...". Dazu muss ich alle Spaltennamen angeben, oder habe ich etwas übersehen? –