In meiner MySQL-Datenbank, gibt es die Spalte "Geschlecht ENUM ('männlich', 'weiblich')"Enum in Hibernate, persistierende als Enum
ich meine Enum „com.mydomain.myapp.enums erstellt haben .Gender ", und in meiner Person
Einheit bin ich definiert" Gender Gender ".
Jetzt würde ich mag den Aufzählungstyp in meiner MySQL-Datenbank halten, aber wenn ich meine Anwendung zu starten erhalte ich:
Falschen Spaltentyp in MyApp.Person für Spalte Geschlecht. Gefunden: enum, erwartet: integer
Warum ist das? Dies wäre das Äquivalent, als ob ich mein "Geschlechts Geschlecht" mit "@Enumerated (EnumType.ORDINAL)" kommentiert hätte, was ich nicht getan habe. EnumType scheint nur in der Lage zu sein, ORDINAL oder STRING zu sein. Wie kann ich also angeben, dass das Feld als Enum behandelt werden soll, nicht als int? (Nicht, dass es einen großen Unterschied gibt, aber genug, um sich darüber aufzuregen.)
Senden ganzen Zahlen shud tun arbeiten.männlich = 1, weiblich = 2 – Cherian
Mit Hibernate, wie würden Sie vorschlagen, dass ich meine Entity-Klasse annotieren, um das zu tun? Ich habe versucht, meine enum Werte explizit zu definieren "public enum Geschlecht (MALE (1), FEMALE (2);}" ohne Unterschied in der Fehlerausgabe – niklassaers