Ebean es un producto de mapeo relacional de objetos escrito en Java . Está diseñado para ser más simple de usar y comprender que los productos JPA (Java Persistence API) o JDO (Java Data Objects).
Desarrollador (es) | Avaje |
---|---|
Lanzamiento estable | 12.8.1 / 30 de marzo de 2021 [1] |
Repositorio | |
Escrito en | Java |
Sistema operativo | Multiplataforma |
Plataforma | Java |
Tamaño | 1,9 MB (archivado) |
Tipo | Mapeo relacional de objetos |
Licencia | Licencia Apache 2.0 |
Sitio web | ebean-orm |
API simple
Ebean tiene una API más simple que JPA. Lo logra a través de su arquitectura ' Session Less' . Ebean no requiere un JPA EntityManager o JDO PersistenceManager y esto elimina los conceptos de beans separados / adjuntos y los problemas asociados con el vaciado / borrado y la 'administración de sesiones' de EntityManagers. Esto se suma para hacer que la API de Ebean sea mucho más fácil de aprender, comprender y usar.
Características relacionales
Aunque Ebean tiene características ORM completas (equivalentes a JPA), también ha incorporado características 'SQL / relacionales'. La idea es que muchos esfuerzos de desarrollo requieren control sobre el sql exacto, llamando a procedimientos almacenados o simplemente se resuelven con enfoques 'relacionales'. El objetivo final de Ebean es combinar las mejores características de ORM de JPA con las mejores características 'relacionales' de productos como MyBatis en un único marco de persistencia.
Mapeo relacional de objetos
Ebean usa 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 Java Generics y obtiene objetos "Parciales" con su objeto Query.
Ejemplos de
// buscar cliente por id Cliente cliente = Ebean . encontrar ( al cliente . clase , 1 );// Guardar los cambios del objeto cliente cliente . guardar ();// consulta más compleja con combinaciones List < Order > order = Ebean . buscar ( Orden . clase ) . buscar ( "cliente" ) . fetch ( "customer.billingAddress" ) . fetch ( "customer.shippingAddress" ) . buscar ( "detalles" ) . fetch ( "detalles.producto" , "nombre" ) . donde (). eq ( "shipDate" , hoy ) . findList ();
Ver también
Referencias
- ^ "Lanzamientos · ebean-orm / ebean" . github.com . Consultado el 4 de abril de 2021 .