Hallo,
ich habe ein ziemlich simples Problem, aber es mit den verschiedenen Lösungsansätzen, die ich so gefunden habe, nicht lösen können...
Und zwar habe ich einen Enum:
Code:
public enum FileContent {
PNG, TXT
}
und ein Feld in einer Klasse, das aus einer Map besteht, die den Enum als Schlüssel verwendet:
Code:
@CollectionOfElements
private Map<FileContent, String> savedFiles = new HashMap<FileContent, String>(1);
Leider klappt das so nicht, weil Hibernate bei der Create-Table-Anweisung einen TinyBlob für den Enum verwendet, statt den Ordinalwert, und dabei in der SQL-Create-Anweisung irgendeinen Fehler macht, so dass MySQL meckert und die Tabelle gar nicht erst anlegt.
Allerdings möchte ich auch überhaupt nicht, dass der Enum als TinyBlob abgelegt wird, sondern als int, was doch auch dem Standardverhalten entsprechen sollte. Wenn ich z.B. das hier schreibe:
Code:
private FileContent meinContent;
Dann legt Hibernate ein int-Feld in der Tabelle an, in dem der Ordinalwert des Enums gespeichert wird.
Ich habe es auch nicht mit der @Enumerated-Anweisung geschafft, das zu ändern...hat jemand eine Idee?
Gruß,
Bernhard