Buscar
Social
Ofertas laborales ES
« Charla de MadridJUG: Recorrido por el Content Repository API para Java (JCR), analizando JackRabbit | Main | Fotos de Spring I/O 2015 »
martes
may122015

Publicados JEPLayer y JEPLDroid v1.3

Recientemente he publicado la versión 1.3 de JEPLayer y JEPLDroid. JEPLayer es un ORM (Object Relational Mapping) basado en JDBC y JTA. 

Su objetivo es simplificar al máximo el ciclo de vida del uso habitual de JDBC y JTA y evitar al máximo los errores típicos del uso de JDBC y JTA, pero los objetos JDBC siguen siendo accesibles por lo que el ciclo de vida persistente es totalmente configurable si se quiere actuar en el nivel JDBC, es decir no se oculta completamente el JDBC típico de otros enfoques ORM.

La diferencia principal respecto a otros ORMs más transparentes y "mágicos" como JPA e Hibernate es que JEPLayer no es nada intrusivo, no contamina el modelo de datos, el mapeado entre clases y tablas es totalmente configurable (aunque con ciertos convencionalismos es automático), se usa directamente SQL sin dialectos, y hay un claro foco en facilitar la definición de transacciones tanto JDBC como JTA.

JEPLDroid es la versión de JEPLayer para Android.

En teoría si un driver JDBC es válido en Android podría usarlo JEPLDroid, pero como mínimo JEPLDroid puede acceder a tus bases de datos locales SQLite que proporciona el propio Android a través del driver JDBC especial para SQLite en Android llamado SQLDroid. La funcionalidad de JEPLDroid es prácticamente la misma que JEPLayer (la versión siempre es coincidente) excepto la parte JTA que no está presente.

Un tutorial de como usar JEPLayer/JEPLDroid (sin JTA) se puede leer aquí.

Novedades de la v1.3

 

  • Se ha añadido el método JEPLDALQuery.getJEPLResultSet() devolviendo un JEPLResultSet (un wrapper de ResultSet muy similar a JEPLResultSetDAO pero no asociado a una clase modelo).
  • Renombrado JEPLRowBeanMapper => JEPLResultSetDAOMapper, los métodos relacionados han cambiado su nombre también.
  • Añadidos los métodos DAO  JEPLDAO<T>.insert(T obj), JEPLDAO<T>.update(T obj), JEPLDAO<T>.delete(T obj), ahora por ejemplo es posible insertar un POJO simplemente con dao.insert(obj)
  • Añadido el método JEPLDALQuery.getCode() devolviendo el código SQL a ejecutar. Sólo es útil para chequear si el SQL generado en JEPLDAO<T>.insert(T obj)/update(T obj)/delete(T obj) es el correcto.
  • Añadido un nuevo tipo de listener, JEPLUpdateDAOListener, y los correspondientes JEPLUpdateDAOListenerDefault y JEPLUpdateDAOBeanMapper, así como los correspondientes métodos factoría 
  • JEPLDataSource.createJEPLUpdateDAOListenerDefault(Class), JEPLDataSource.createJEPLUpdateDAOListenerDefault(Class,JEPLUpdateDAOBeanMapper)
  •  JavaDoc doc error: JEPLNonJTADataSource.isDefaultAutoCommit() devuelve true por defecto (no transacciones).
  •  Manual de Referencia revisado y actualizado  con las nuevas APIs
  •  Tutorial No-JTA actualizado.

 

 JEPLayer y JEPLDroid están registrados en Maven Central y JCenter.

Espero que te sean útiles

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>