Guten Abend zusammen,
wir hatten grad eine kleine Diskussion zu folgendem Beispiel und folgende 2 Lösungen. Welche ist sinnvollste und warum? Bin gespannt ob ich auf dem Holzweg bin:
Es gibt einen Artikel:
- id
- name
- preis
- usw.
Jeder Artikel hat eine Besteuerung, entweder vollbesteuert oder ermäßigt (Die höhe der Steuer ist an der Stelle nicht relevant, da sie erst in einem anderen Programm länderspezifisch benötigt wird dann ist CH 7 und 4% und AT auch anders)
Sollte man nun eine weitere Tabelle einführen
tax_class
1, Ermäßigt
2. vollbesteuert
und die jeweile ID im Produkt speichern?
Ich habe folgendes gemacht:
Ich setze dem Artikel einfach das Enum und speichere es ab. Dann steht in der DB TAX_CLASS_FULL zb statt der ID einer anderen Tabelle. Frisst vermutlich mehr speicher aber finde es unnötig eine separate Tabelle zu erstellen.
Was meint ihr?
wir hatten grad eine kleine Diskussion zu folgendem Beispiel und folgende 2 Lösungen. Welche ist sinnvollste und warum? Bin gespannt ob ich auf dem Holzweg bin:
Es gibt einen Artikel:
- id
- name
- preis
- usw.
Jeder Artikel hat eine Besteuerung, entweder vollbesteuert oder ermäßigt (Die höhe der Steuer ist an der Stelle nicht relevant, da sie erst in einem anderen Programm länderspezifisch benötigt wird dann ist CH 7 und 4% und AT auch anders)
Sollte man nun eine weitere Tabelle einführen
tax_class
1, Ermäßigt
2. vollbesteuert
und die jeweile ID im Produkt speichern?
Ich habe folgendes gemacht:
Java:
//Artikeldaten wie id, preis usw
@Enumerated(EnumType.STRING)
private TaxEnum taxClass;
Java:
public enum TaxEnum {
TAX_CLASS_FULL("Standardsatz"),
TAX_CLASS_REDUCED("Ermäßigter Steuersatz");
private String name;
TaxEnum(String stringVal) {
name = stringVal;
}
public String toString() {
return name;
}
public static String getEnumByString(String code) {
for (TaxEnum e : TaxEnum.values()) {
if (e.name.equals(code)) return e.name();
}
return null;
}
}
Ich setze dem Artikel einfach das Enum und speichere es ab. Dann steht in der DB TAX_CLASS_FULL zb statt der ID einer anderen Tabelle. Frisst vermutlich mehr speicher aber finde es unnötig eine separate Tabelle zu erstellen.
Was meint ihr?