Ebean

EbeanDeveloper(s)| Avaje

|

Stable release|

12.8.1 / March 30, 2021; 5 years ago (2021-03-30)[1]

Written in| Java
Operating system| Cross-platform
Platform| Java
Size| 1.9 MB (archived)
Type| Object-relational mapping
License| Apache License 2.0

Ebean is an object–relational mapping product written in Java. It is designed to be simpler to use and understand than JPA (Java Persistence API) or JDO (Java Data Objects) products.

## Contents

* 1 Simple API
* 2 Relational features
* 3 Object–relational mapping
* 4 Examples
* 5 See also
* 6 References
* 7 External links

## Simple API

Ebean has a simpler API than JPA. It achieves this through its 'Session Less' architecture. Ebean does not require a JPA EntityManager or JDO PersistenceManager and this removes the concepts of detached/attached beans and the issues associated with flushing/clearing and 'session management' of EntityManagers. This adds up to make Ebean's API much easier to learn, understand and use.

## Relational features

Although Ebean has full ORM features (equivalent to JPA) it also has incorporated 'SQL/Relational' features. The idea being that many development efforts require control over the exact sql, calling stored procedures or are more simply solved with 'Relational' approaches. The ultimate goal for Ebean is to combine the best ORM features from JPA with the best 'Relational' features from products like MyBatis into a single persistence framework.

## Object–relational mapping

Ebean uses the same mapping as JPA with its @Entity, @Table, @OneToMany etc. annotations and xml. The mapping of Entity beans should be compatible between Ebean and JPA.

Going beyond JPA Ebean supports Java Generics and fetching "Partial" objects with its Query object.

## Examples

// find customer by id
Customer customer = Ebean.find(Customer.class, 1);

//Saving the changes of the customer object
customer.save();

// more complex query with joins
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();

## See also

* List of object–relational mapping software

## References

1. ↑ "Releases · ebean-orm/ebean". https://github.com/ebean-orm/ebean/releases.

## External links

* GitHub page

* v
* t
* e

Java

Platforms|

* Java language
* JVM
* Micro Edition
* Standard Edition
* Enterprise Edition
* Java Card
* Android SDK

Oracle technologies|

* Squawk
* Java Development Kit
* OpenJDK
* Java virtual machine
* JavaFX
* Maxine VM

Platform technologies|

* Applets
* Servlets
* MIDlets
* JSP
* JSF
* Web Start (JNLP)

Major third-party technologies|

* Blackdown
* Eclipse
* GNU Classpath
* GWT
* Harmony
* Hibernate
* IcedTea
* Jazelle
* Spring
* Struts
* TopLink
* WildFly

History|

* Java version history
* Java Community Process
* Sun Microsystems
* Free Java implementations

Major JVM languages|

* BeanShell
* Clojure
* Groovy
* JRuby
* Jython
* Kotlin
* Processing
* Rhino
* Scala

Community|

| Conferences|

* JavaOne
* Devoxx

|

Organizations|

* Apache Software Foundation
* Java Community Process
* Oracle Corporation
* Sun Microsystems, Sun Microsystems Laboratories

People|

* James Gosling
* Arthur van Hoff
* Urs Hölzle
* Patrick Naughton

Category

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Ebean. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Ebean&oldid=751258"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template