Store MapEnum, Enum als String speichern

9

Ich brauche Hilfe beim Speichern einer Map in JPA2, wo sowohl Schlüssel als auch Werte enums sind ( Map<Enum, Enum> ). Mit Hibernate als meinem JPA-Provider speichert es die Enums als Blob, aber ich brauche die Daten als Strings gespeichert. Ich habe die folgenden Anmerkungen versucht, um dieses Problem zu beheben:

%Vor%

Aber die Daten werden immer noch als Blob in der DB gespeichert. Hat jemand dieses Problem gelöst?

    
user1289877 21.04.2012, 08:38
quelle

2 Antworten

3

@Enumerated wird verwendet, um den Typ für den Wert zu definieren. Folgende Maps zu Tabelle, wo Spalte für Schlüssel und Wert sind Varchars und Name der Enumeration wird gespeichert:

%Vor%

Es wird grob folgende Tabelle erzeugen:

%Vor%     
Mikko Maunu 21.04.2012 10:17
quelle
1

Fast jedes Java-Objekt hat toString() method Wenn Sie Ihre Map in der Datenbank darstellen wollen, schlage ich vor, dass dies Ihre Option ist.

Allerdings muss ich fragen, ob Sie sicher sind, dass es der MAP ist, den Sie speichern möchten und nicht die Elemente der Schlüssel oder Werte?

    
thejartender 21.04.2012 08:55
quelle