JPA. Simplemente.
Tarde o temprano había que escribir algo sobre JPA. Me refiero al estándar para alamcenar datos en bases de datos relacionales que nos proporciona Java. Surge para resolver un montón de problemas en la capa de acceso a datos que eran habituales por estos mundos de Dios. ¿Quien no se ha encontrado con el siguiente caso alguna vez?
Manager: Oye, Programador A, ¿habeis terminado esa aplicación para la gestión de churrerías 2.0 que os comenté?
Programador A: Por supuesto. Justo a tiempo, como a ti te gusta.
M: Estupendo. Por cierto, se me olvidó decirte que la base de datos central va a ser un SQL Server en lugar de Oracle pero bueno… supongo que no importa.
P: Eeeeeeeeee. Estoooooooooooo.
Y en ese momento el pobre programador comienza a prepararse a reescribir SQL como un loco para adaptarse a la nueva plataforma.
Afortunadamente hay héroes anónimos que ya piensan en estas cosas por nosotros y responden a nuestras plegarias. Para resolver ese problema y muchos más surge JPA.
JPA es el acrónimo de Java Persistence API. Resumiendo podríamos decir que es un estándard que define una capa que se sitúa entre nuestra aplicación y la base de datos proporcionando una interfaz común independiente del almacenamiento de datos que utilicemos. Si nuestro infeliz programador hubiese utilizado este moderno mecanismo la conversación hubiera sido bien distinta.
Manager: Oye, Programador A, ¿habeis terminado esa aplicación para la gestión de churrerías 2.0 que os comenté?
Programador A: Por supuesto. Justo a tiempo, como a ti te gusta.
M: Estupendo. Por cierto, se me olvidó decirte que la base de datos central va a ser un SQL Server en lugar de Oracle pero bueno… supongo que no importa.
P: Hombre, la verdad es que esas cosas se avisan antes. Pero bueno… menos mal que uno es previsor. Cambio unos ficheritos de configuración, tiro unos test y todo debería funcionar.
M: ¡Maravilloso!
De todos modos lo que más me gusta de este estandard es que nos permite persistir con POJOs de una manera sencilla. POJO se refiere a Plain Old Java Object o, para los castellanoparlantes, objeto java de toda la vida. ¿Que es lo que quiero decir con esto? Que en el caso ideal, para almacenar un objeto en la base de datos es tan sencillo como hacer un session.save(miobjeto). Simple y eficaz. ¿Es todo tan bonito? Bueno… si y no. Para que se cumpla hay que preparar un poco de configuración de fondo pero en líneas generales podríamos decir que es una buena idea y que casi siempre va a mejorar la legibilidad de nuestro código.
Ejemplos en próximas entregas…





