La capa de Persistencia
Los desarrolladores de aplicaciones en lenguajes de programación orientados por objetos, como Java, cuyos datos son persistidos en bases de datos relacionales , enfrentan un problema conocido como "impedance mismatch". Este problema se crea por la falta de concordancia entre la forma de modelar los datos en OO y en relacional. El desarrollador debe hacer un esfuerzo para "traducir" de un lado para otro. La siguiente figura, tomada de link, ilustra el problema. En la figura hay un elemento llamado "Mapping" cuya responsabilidad es realizar la correspondencia entre los modelos.
Para ayudar a los desarrolladores a resolver el problema, existen los ORM Object-relational mapping. En el mundo de java, el más popular es JPA (Java Persistence API). JPA es un conjunto de interfaces independientes de un proveedor específico. Existen varias implementaciones de JPA como por ejemplo EclipseLink, Hibernate o TopLink.
JPA ofrece servicios para realizar las correspondencias o Mappings entre los objetos y las tablas relacionales y servicios para acceder a la base de datos.
En las siguientes secciones veremos:
- Las correspondenciaa del modelo objetos al modelo relacional
- El Acceso a la base de datos utilizando JPA
Adicionalmente tenemos