Articulo de referencia

Ebean

{{cite web\n | url = https://github.com/ebean-orm/ebean/releases\n | title = Releases · ebean-orm/ebean\n | website = github.com\n | access-date = 2024-01-11\n}} "},"latest prev...

Ebean es un producto de mapeo objeto-relacional escrito en Java . Está diseñado para ser más sencillo de usar y comprender que los productos JPA (Java Persistence API) o JDO (Java Data Objects).

API simple

Ebean tiene una API más sencilla que JPA. Esto se logra gracias a su arquitectura " sin sesión" . Ebean no requiere un EntityManager de JPA ni un PersistenceManager de JDO, lo que elimina los conceptos de beans desconectados/conectados y los problemas relacionados con el vaciado/borrado y la "gestión de sesiones" de los EntityManagers. En definitiva, esto hace que la API de Ebean sea mucho más fácil de aprender, comprender y usar.

Características relacionales

Aunque Ebean cuenta con todas las funcionalidades de un ORM (equivalente a JPA), también incorpora características SQL/relacionales. La idea es que muchos proyectos de desarrollo requieren control sobre la consulta SQL exacta, la llamada a procedimientos almacenados o bien se resuelven de forma más sencilla con enfoques relacionales. El objetivo final de Ebean es combinar las mejores características ORM de JPA con las mejores características relacionales de productos como MyBatis en un único framework de persistencia.

Mapeo objeto-relacional

Ebean utiliza el mismo mapeo que JPA con sus anotaciones @Entity, @Table, @OneToMany, etc., y XML. El mapeo de los beans de entidad debe ser compatible entre Ebean y JPA.

Más allá de JPA, Ebean admite genéricos de Java y la obtención de objetos "parciales" con su objeto Query.

Ejemplos

// buscar cliente por id Customer customer = Ebean . find ( Customer . class , 1 );// Guardando los cambios del objeto cliente customer.save ( );// consulta más compleja con uniones List < Order > order = Ebean . find ( Order . class ) . fetch ( "customer" ) . fetch ( "customer.billingAddress" ) . fetch ( "customer.shippingAddress" ) . fetch ( "details" ) . fetch ( "details.product" , "name" ) . where (). eq ( "shipDate" , today ) . findList ();

Véase también

Referencias

  1. "Versiones · ebean-orm/ebean" . github.com . Consultado el 11 de enero de 2024 .
  • Sitio web oficial
  • Página de GitHub
Obtenido de " https://en.wikipedia.org/w/index.php?title=Ebean&oldid=1323280098 "