best practice: Einordnung Enitity und Datenklasse

Schuriko

Bekanntes Mitglied
Ich entwickel mir gerade ein kleines Projekt. In diesem Projekt habe ich eine package "com.my.entitis". In dieser package befinden sich einige Entities über die ich auf MySQL - Datentabelle zugreife. Jetzt habe ich eine Klasse, die "nur" Daten enthält, die nie in einer Datenbank landen werden. Jetzt frage ich mich gerade welches der beste Weg wäre, genauer gesagt in welcher package ich mir diese am besten erstelle. Würdet ihr diese auch in die Package "com.my.entites" speichern oder würdet ihr eine eigene Package für solche Klassen erzeugen? Und wenn ihr eine eigene package erzeugt, wie würdet ihr diese nennen? Insbesondere zum sofortigen erkennen, das eine Datei datenbankspezifische Entity ist oder "nur" eine Datenklasse ist, dessen Daten nicht in einer Datenbank landen. Vorschläge / Best Practice?
 
Was ist denn für dich eine „Datenklasse“? Wofür wird die benutzt, bzw welcher Teil deiner Anwendung nutzt die?
 
Was ist denn für dich eine „Datenklasse“? Wofür wird die benutzt, bzw welcher Teil deiner Anwendung nutzt die?
Die Bezeichnungen sind wie folgt zu interpretieren:
Entity => Eine Klasse die @Entity annotiert ist / in der Datenbank gespeichert wird
Datenklasse => Eine Klasse dessen Werte nicht in einer Datenbank gespeichert werden

Datenklasse würde ich z.B. auch eine Klasse Color interpretieren
Code:
public Color {
     int static final RED = 0xff0000;
     int static final GREEN = 0x00ff00;
     int static final BLUE = 0x0000ff;
}
 
Die Bezeichnungen sind wie folgt zu interpretieren:
Entity => Eine Klasse die @Entity annotiert ist / in der Datenbank gespeichert wird
Datenklasse => Eine Klasse dessen Werte nicht in einer Datenbank gespeichert werden
Meine zweite Frage ist damit noch nicht beantwortet 🙂 und deine Antwort und die nächste Antwort leiten dann direkt zu @mihe7‘s Antwort weiter 🙂
 
Paketnamen an Fachlichkeiten und nicht an technischem Gedöns ausrichten. Und "Entity" bedeutet nicht zwangsweise, dass das Teil in der DB gespeichert wird. Im Idealfall sollte es den Rest des Programms auch gar nicht interessieren.
Würdest du anhand der Dateiname / Klassenname irgendwie kenntlich machen, dass es eine (nach meiner Definition) Entity oder Datenklasse ist.
 
Diese Klasse speichert Informationen während der Runtime, die ich als Datenkapselung an andere Klasse übergebe.
Damit beschreibst du nahezu jede Klasse, die existiert und das beantwortet wieder nur die erste Frage 😵

Was macht die Klasse fachlich? Die ist ja nicht da, um eine Klasse zu haben
Oder ist sie wirklich rein fachlich? ZB ein Respone-Objekt oder ein DTO?
 
Damit beschreibst du nahezu jede Klasse, die existiert und das beantwortet wieder nur die erste Frage 😵

Was macht die Klasse fachlich? Die ist ja nicht da, um eine Klasse zu haben
Oder ist sie wirklich rein fachlich? ZB ein Respone-Objekt oder ein DTO?
Sie ist kein Response-Objekt / DTO. Sie ist noch nicht fertig. Sie soll z.B. Config-Daten speichern - wobei sie zur Zeit noch nicht zur Speicherung vorgesehen ist. Ja, Ja ich weiß normalerweise holt sichConfig-Klasse die Informationen, wegen Veränderung aus z.B. einer Ini-Datei . Sie ist aber zur Zeit hartverdrahtet.
 
Es geht also um Anwendungs-Konfiguration, und nicht um irgendetwas fachliches?

gehts um configuration im Spring-Kontext?
 

Zurück
Oben