Ebean
Utvecklare | Avaje |
---|---|
Stabil frisättning | 12.8.1 / 30 mars 2021
|
Förvar | |
Skrivet i | Java |
Operativ system | Cross-plattform |
Plattform | Java |
Storlek | 1,9 MB (arkiverad) |
Typ | Objektrelationell kartläggning |
Licens | Apache-licens 2.0 |
Hemsida |
|
Ebean är en objektrelationell kartläggningsprodukt skriven i Java . Det är utformat för att vara enklare att använda och förstå än JPA (Java Persistence API) eller JDO (Java Data Objects) produkter.
Enkelt API
Ebean har ett enklare API än JPA. Den uppnår detta genom sin " Session Less" -arkitektur. Ebean kräver ingen JPA EntityManager eller JDO PersistenceManager och detta tar bort begreppen fristående/anslutna bönor och problem som är förknippade med spolning/rensning och "sessionshantering" av EntityManagers. Detta gör Ebeans API mycket lättare att lära sig, förstå och använda.
Relationella egenskaper
Även om Ebean har fullständiga ORM-funktioner (motsvarande JPA) har den också inkorporerat "SQL/Relational"-funktioner. Tanken är att många utvecklingsinsatser kräver kontroll över den exakta sql, anropar lagrade procedurer eller enklare löses med "Relationella" tillvägagångssätt. Det slutliga målet för Ebean är att kombinera de bästa ORM-funktionerna från JPA med de bästa "Relational"-funktionerna från produkter som MyBatis i ett enda uthållighetsramverk.
Objektrelationell kartläggning
Ebean använder samma mappning som JPA med sina @Entity, @Table, @OneToMany etc. annoteringar och xml. Kartläggningen av Entity-bönor bör vara kompatibel mellan Ebean och JPA.
Går längre än JPA Ebean stöder Java Generics och hämtar "partiella" objekt med dess Query-objekt.
Exempel
// hitta kund efter id Kundkund = Ebean . hitta ( Kund.klass , 1 ) ; _ //Spara ändringar av kundobjektkunden . spara (); // mer komplex fråga med joins Lista < Order > order = Ebean . hitta ( Ord . klass ) . hämta ( "kund" ) . hämta ( "customer.billingAddress" ) . hämta ( "customer.shippingAddress" ) . hämta ( "detaljer" ) . hämta ( "detaljer.produkt" , "namn" ) . där (). eq ( "shipDate" , idag ) . findList ();