Hallo,
ich bin gerade dabei mich in JavaEE im allgemeinen und JPA im speziellen einzuarbeiten. Dabei hantiere ich parallel mit verschieden Büchern.
In meine Hauptinformationsquelle zu JPA ist das Buch "Java Persistence API 2 - Hibernate, EclipseLink OpenJPA und Erweiterungen" Bernd Müller, Harald Wehr, 2012
Dort findet sich folgendes Zitat (S. 101):
"JPA erlaubt den Entwurf von Domain-Models bzw. Rich Domain-Models im Gegensatz zu Anemic Domain-Models. Ein Anemic Domain-Model realisiert Anwendungsobjekte ausschließlich über Getter und Setter und lagert die Anwendungslogik in separate Klassen aus. Diese Art der Modellierung wurde z. B. durch das Entity-Modell der frühen EJB-Spezifikationen gestärkt, die Rich Domain-Models nicht oder nur unzureichend unterstützten. Mit der Einführung von JPA 1.0 gibt es keinen Grund mehr, ein Anemic Domain-Model zu verwenden, und wir raten dem Leser ausdrücklich, Rich Domain-Models zu erstellen. Martin Fowler bezeichnet das Anemic Domain-Model ausdrücklich als Anti-Pattern [...]".
In meinen Büchern zu JavaEE im Algemeinen findet sich, glaube ich, genau dieses Pattern aber immer wieder. Etwa in "Workshop Java EE 7" von Marcus Schießer und Martin Schmollinger gibt es zu jeder Entity-Klasse eine ServiceBean. Die Entities enthalten nur Setter, Getter und NamedQuerys, die ganze Logik und die Methoden zum Peristieren und Löschen finden sich jeweils in einer zugehörigen ServiceBean (die ein passendes Interface implementiert).
Wie haltet ihr es damit bzw. eure Arbeitgeber. Rich-Domain-Models oder ServiceBeans? Oder habe ich etwas falsch verstanden und es gibt hier gar keinen Widerspruch zwischen beidem?
ich bin gerade dabei mich in JavaEE im allgemeinen und JPA im speziellen einzuarbeiten. Dabei hantiere ich parallel mit verschieden Büchern.
In meine Hauptinformationsquelle zu JPA ist das Buch "Java Persistence API 2 - Hibernate, EclipseLink OpenJPA und Erweiterungen" Bernd Müller, Harald Wehr, 2012
Dort findet sich folgendes Zitat (S. 101):
"JPA erlaubt den Entwurf von Domain-Models bzw. Rich Domain-Models im Gegensatz zu Anemic Domain-Models. Ein Anemic Domain-Model realisiert Anwendungsobjekte ausschließlich über Getter und Setter und lagert die Anwendungslogik in separate Klassen aus. Diese Art der Modellierung wurde z. B. durch das Entity-Modell der frühen EJB-Spezifikationen gestärkt, die Rich Domain-Models nicht oder nur unzureichend unterstützten. Mit der Einführung von JPA 1.0 gibt es keinen Grund mehr, ein Anemic Domain-Model zu verwenden, und wir raten dem Leser ausdrücklich, Rich Domain-Models zu erstellen. Martin Fowler bezeichnet das Anemic Domain-Model ausdrücklich als Anti-Pattern [...]".
In meinen Büchern zu JavaEE im Algemeinen findet sich, glaube ich, genau dieses Pattern aber immer wieder. Etwa in "Workshop Java EE 7" von Marcus Schießer und Martin Schmollinger gibt es zu jeder Entity-Klasse eine ServiceBean. Die Entities enthalten nur Setter, Getter und NamedQuerys, die ganze Logik und die Methoden zum Peristieren und Löschen finden sich jeweils in einer zugehörigen ServiceBean (die ein passendes Interface implementiert).
Wie haltet ihr es damit bzw. eure Arbeitgeber. Rich-Domain-Models oder ServiceBeans? Oder habe ich etwas falsch verstanden und es gibt hier gar keinen Widerspruch zwischen beidem?
Zuletzt bearbeitet: