Was ist die beste Vorgehensweise, wenn Sie Modellobjekte aus mehreren Datenquellen abrufen?
Zum Beispiel habe ich eine Anwendung hat einige Daten in einer mySQL-Datenbank mit Hibernate gespeichert. Was wäre, wenn ich einige andere Objekte in EC2 oder Google App Engine speichern wollte? Ich verstehe, dass DAOs die Implementierung der Arbeit mit einer bestimmten Datenquelle abstrahieren, aber was ist mit den Entitäten selbst?
Zuerst dachte ich, dass das Annotieren meiner Entitäten mit JPA-Annotationen eine großartige Lösung wäre, aber jetzt scheint es, dass ich meine Entitäten wirklich an eine bestimmte Implementierung gebunden habe. Im Fall von App Engine zum Beispiel, einige dieser Annotationen machen keinen Sinn.
Es scheint, dass ich eine reine POJO-Klasse brauche, um meine Entitäten zu repräsentieren, völlig frei von Persistenzlogik. Wenn ich einen Hund zum Beispiel modellieren wollte (ja lahm Wahl, aber egal).
Wäre es sinnvoll, eine abstrakte Hundeklasse zu haben und dann Unterklassen zu definieren, die mit bestimmten Persistenzlösungen arbeiten: HibernateDog, GAEDog, usw.
Danke.