G
Gelöschtes Mitglied 68249
Gast
Hi, ich arbeite an der Erstellung einer Software zur Pflege von Server-Lebenszyklen. Dabei möchte ich meine Daten weitestgehend normalisieren.
Konkret geht es in diesem Fall um Schlüsselwerte. Beispiele dafür wären
Aus einem anderen Projekt kannte ich das so, dass es dafür zwei Tabellen gab:
Tabelle 1 war für die Schlüsselgruppen verantwortlich, also ID, KURZNAME, LANGNAME in dem Beispiel also System-Status, Auftragsart, Ticketeingang,...
In Tabelle 2 waren dann die Schlüssel, also ID, KURZNAMEN, LANGNAME, SCHLÜSSELGRUPPE.
In der Anwendung gibt man dann für Eingabefelder die Schlüsselgruppe an und das Entity-Objekt speichert sich die Referenz auf die Schlüsseltabelle.
Jetzt bin ich mir zum einen nicht sicher, ob das System heute noch Sinn macht, oder ob es da schon bessere Systeme gibt, oder ihr vielleicht sagt, Finger weg von sowas, mach lieber ein ENUM.
Und wenn das Verfahren Sinn macht, kann ich dann evtl. im JavaCode in der Refferenz schon auf eine Gruppe eingrenzen? Also in etwa so:
Wäre schön, wenn man das mal ausdiskutieren könnte.
Konkret geht es in diesem Fall um Schlüsselwerte. Beispiele dafür wären
- Zustand eines System (GEPLANT, ABGEBAUT, PRODUKTIV,...)
- Auftragsart (AUFBAU,ABBAU,ERWEITERUNG,...)
- EINGANGSART (MAIL,TICKET,...)
Aus einem anderen Projekt kannte ich das so, dass es dafür zwei Tabellen gab:
Tabelle 1 war für die Schlüsselgruppen verantwortlich, also ID, KURZNAME, LANGNAME in dem Beispiel also System-Status, Auftragsart, Ticketeingang,...
In Tabelle 2 waren dann die Schlüssel, also ID, KURZNAMEN, LANGNAME, SCHLÜSSELGRUPPE.
In der Anwendung gibt man dann für Eingabefelder die Schlüsselgruppe an und das Entity-Objekt speichert sich die Referenz auf die Schlüsseltabelle.
Jetzt bin ich mir zum einen nicht sicher, ob das System heute noch Sinn macht, oder ob es da schon bessere Systeme gibt, oder ihr vielleicht sagt, Finger weg von sowas, mach lieber ein ENUM.
Und wenn das Verfahren Sinn macht, kann ich dann evtl. im JavaCode in der Refferenz schon auf eine Gruppe eingrenzen? Also in etwa so:
Java:
@Entity
@Table(name = "OBJ_BLADESERVER")
public class Bladeserver extends BladeRackServer{
private static final long serialVersionUID = 4270836892791099236L;
@Column(name = "MAC_ADRESSE2")
private String macAdresse2;
@ManyToOne
@JoinColumn(name = "STATE", referencedColumnName = "GUID", where="SKeyRange='STATI'" ),
private SKeyValue status;
public SKeyValue getStatus() { return status; }
public String getMacAdresse2() { return macAdresse2; }
public void setStatus(SKeyValue status) { this.status = status; }
public void setMacAdresse2(String macAdresse2) { this.macAdresse2 = macAdresse2; }
}
Wäre schön, wenn man das mal ausdiskutieren könnte.