¿Cuál es el mejor enfoque que se debe tomar cuando se extraen objetos modelo de múltiples fuentes de datos?¿Existen patrones para las clases de modelo/entidad
Por ejemplo, tengo una aplicación que tiene algunos datos almacenados en una base de datos mySQL utilizando hibernate. ¿Qué sucede si quiero almacenar algunos otros objetos en EC2 o Google App Engine? Entiendo que DAO resume la implementación del trabajo con una fuente de datos en particular, pero ¿qué ocurre con las entidades mismas?
Al principio pensé que anotar mis entidades con anotaciones jpa fue una gran solución, pero ahora parece que realmente he vinculado mis entidades a una implementación particular. En el caso de App Engine, por ejemplo, algunas de estas anotaciones no tienen sentido.
Parece que necesito una clase POJO pura para representar mis entidades, completamente libre de lógica de persistencia. Si quería modelar un perro, por ejemplo (sí, elección coja, pero lo que sea).
¿Tendría sentido tener una clase de perro abstracta, luego definir subclases para trabajar con soluciones de persistencia particulares: HibernateDog, GAEDog, etc.
Thanks.