persistentes Enum oder Konstanten?

Status
Nicht offen für weitere Antworten.

GilbertGrape

Bekanntes Mitglied
Hallo,

ich erstelle gerade ein Datenbankschema mit Hibernate (ich habs nicht in Data Tier gepostet, weil ich finde, dass es ne allgemeinere Frage ist).

Ich hab jetzt eine persistente Klasse User, die einen Status haben soll (also admin, benutzer oder sowas). Jetzt überlege ich, wie ich das am besten anstelle.
Ich hab mir überlegt ein Enum zu schreiben mit den entsprechenden Typen. Es scheint aber in Hibernate etwas komplizierter zu sein, so ein Enum zu persistieren (Java5+Enums+Persistence+with+Hibernate). Muss ich das Enum überhaupt persistieren? Reicht es nicht, wenn ich nur die Int-Werte in der Datenbank abspeichere und nur im Programm weiß, was das für ein Typ ist? Dann könnte ich aber auch einfach Konstanten definieren oder?

Wie würden Ihr generell sowas lösen?

Gruß!
 

byte

Top Contributor
Enum-Werte zu persistieren ist denkbar einfach mit Hibernate. Einfach die Annotation @Enumerated am Enum-Property verwenden.
Du kannst angeben, ob Du die Ordinal-Werte oder die Strings in der DB speichern willst. Wenn Du die Ordinalzahlen in der DB speicherst, muss Dir bewusst sein, dass Du danach die Reihenfolge der Enum-Werte im Code nicht mehr ändern darfst.
 

GilbertGrape

Bekanntes Mitglied
Und würdest du das so machen? Oder nur Konstanten definieren?


also so?
Code:
class User{
        public static final int ADMIN = 0;
	public static final int EDITOR = 1;

int status;
...

public int getStatus(){
    return status;
}

oder so?
Code:
class User{
        public enum Status{
          ADMIN,
          USER
        }

Status status;
...

@Enumerated (value=EnumType.STRING)
public Status getStatus(){
    return status;
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Best Practice Generics mit Enum Allgemeine Java-Themen 3
Drachenbauer Wie kann ich einer existierenden Enum von außerhalb veränderte Werte zuweisen? Allgemeine Java-Themen 5
A Ist ein enum hier richtig? Enum toString() Methode. Allgemeine Java-Themen 1
E Eigenen "Aufzählungstyp" erstellen - mit enum ? Allgemeine Java-Themen 18
I Enum gegen Enum tauschen Allgemeine Java-Themen 1
F Enum-werte als Methoden-Parameter übergeben Allgemeine Java-Themen 6
Neumi5694 Interface Generics für Enum-Filterung verwenden Allgemeine Java-Themen 5
perlenfischer1984 TestNG - Enum testen Allgemeine Java-Themen 1
I Setzen und Lesen eines Objektes (Enum?) Allgemeine Java-Themen 10
Q Enum Allgemeine Java-Themen 3
F Enum und Klasseninhalt Allgemeine Java-Themen 1
K Enum mit switch Allgemeine Java-Themen 2
D Enum Kategorien Allgemeine Java-Themen 10
C Datentypen Enum-Werte Bestanteil von anderem Enum Allgemeine Java-Themen 8
M Enum austauschbar machen Allgemeine Java-Themen 3
Rudolf State Pattern als Enum? Allgemeine Java-Themen 10
E Klassen Enum überladen od. austauschbar machen? Allgemeine Java-Themen 2
EnHancEd[] kurze enum-Frage Allgemeine Java-Themen 4
X Java findet eine Enum Klasse nicht Allgemeine Java-Themen 2
A Dynamisches Enum? Allgemeine Java-Themen 2
E Wert von enum zur Laufzeit festlegen. Allgemeine Java-Themen 5
D Methode für generische enummap/enum Allgemeine Java-Themen 10
D Array oder Vector in Enum Deklarieren Allgemeine Java-Themen 3
L HashMap mit Enum Keys Allgemeine Java-Themen 3
G Enum mit Array Allgemeine Java-Themen 3
D Wie prüfen, ob ein String Teil eines Enum Types ist? Allgemeine Java-Themen 12
H2SO3- Enum mit Java 1.4 Allgemeine Java-Themen 6
S Erstes Enum bekommen? Allgemeine Java-Themen 2
M Verständnis enum - switch Allgemeine Java-Themen 2
R Java enum switch Allgemeine Java-Themen 11
S Enum-Class valueOf Function? Allgemeine Java-Themen 1
R Java enum Allgemeine Java-Themen 5
J Enum Problem: compiliert nicht mit Sun's compiler. Allgemeine Java-Themen 2
V Wie Enum an Funktion "übergeben" ? Allgemeine Java-Themen 4
N Java und Enum Allgemeine Java-Themen 3
G enum Integer zuweisen Allgemeine Java-Themen 14
G class, interface, or enum exp? Allgemeine Java-Themen 2
P enum Allgemeine Java-Themen 7
S Java Enum und ordinal() Allgemeine Java-Themen 4
S Enum Fehler Allgemeine Java-Themen 17
C Enum-namespace ? Allgemeine Java-Themen 5
G Effizienz von enum vs. Konstanten Allgemeine Java-Themen 4
C enum und Vererbung Allgemeine Java-Themen 3
K Warunung und Fehler bei Enum.valueOf Allgemeine Java-Themen 2
C enum Strings mit punkt ? Allgemeine Java-Themen 3
J Enum in Java Allgemeine Java-Themen 19
Neumi5694 Compiler-Fehler Konstanten entfernen während des Kompiliervorgangs Allgemeine Java-Themen 7
R Konstanten initialisieren - FRAGE Allgemeine Java-Themen 3
H Best Practice zu vielen konstanten Objekten? Allgemeine Java-Themen 10
E Variablen Konstanten definieren Allgemeine Java-Themen 4
F Konstanten mir Strings "verknuepfen" Allgemeine Java-Themen 10
Z Konstanten in Java Allgemeine Java-Themen 9
S jdk versus openjdk - Optimierung von Konstanten? Allgemeine Java-Themen 8
J abstrakte Klassen, Konstanten und Konstruktor Allgemeine Java-Themen 9
D binäres ODER oder mehr Konstanten? Allgemeine Java-Themen 10
I Konstanten bei Erzeugung eines Objekts initialisieren Allgemeine Java-Themen 3
Schandro Annotation vs Javadoc bei Konstanten Allgemeine Java-Themen 2
L Konstanten der Klasse Color - Naming Conventions Allgemeine Java-Themen 6
F Warum lokale Konstanten klein schreiben? Allgemeine Java-Themen 4
R Namen von Konstanten mit Strings vergleichen Allgemeine Java-Themen 7
T Probleme mit Konstanten und Stringverkettung Allgemeine Java-Themen 5
D Zusammensetzen von konstanten String Arrays zu einem Neuen Allgemeine Java-Themen 14
C Seltsame Konstanten (und Verwendung) Allgemeine Java-Themen 15
R Erstellen zusätzlicher Konstanten beim Kompiliervorgang Allgemeine Java-Themen 3
M Speicherplatzanforderung von Konstanten Allgemeine Java-Themen 13

Ähnliche Java Themen

Neue Themen


Oben