Whitepapers

AutoFetch Description of "AutoFetch" - automatic ORM query tuning.
Optimistic Concurrency Checking One of the fundamental requirements of a Persistence layer. This gives the background to Optimistic Concurrency Checking (Also known as Optimistic Locking) and how it generally works against a Database. This is background information required to understand the fundamental Architectural difference between JPA and Ebean.
JPA Architecture Issue The JPA architecture will give Developers unwanted complications when running outside of a container. Take a closer look at the Session Management burden and implications for Optimistic Concurrency checking in JPA.
JPA API Issues There are several interesting ommissions from the JPA API that need to be explored. These include Batching, Caching, Entity Listeners, Raw JDBC, Transaction Isolation and Large Query Support.
Design Philosophy The Design Philosophy behind Ebean leading to both ORM and Relational features. ORM is great, but sometimes Relational is better.
Limitations The known limitations and restrictions in Ebean. Looking at some of the potential objections to using Ebean.
Configuration Getting Ebean Installed and Configured. This is followed by Getting Started. Configuring BasePlugin for a specific Database. Configuring to run in a Servlet Container.
Entity Bean Generator Generating Annotated Entity Beans from your Database schema by Installing, configuring and running the Code Generator.
Lazy Loading Lazy loading "just works" - no fuss, no bother. You should understand the issues of how Transaction Isolation and Transaction Demarcation will effect the lazy loading. This includes the "Most Recent" versus "Read Consistent" nature of READ_COMMITTED Transaction Isolation.
equals and hashcode Four options for handling the issue of equals and hashcode with Ebean. This includes UUID and the "Gerry Power" technique.
Save and Delete Cascade How cascading of Save and Delete works. The issue of Batching Order for save and deletes that are batched.
Batching Transparent Batching. Batching of UpdateSql, CallableSql compared with batching of Beans.
Byte Code Generation The use of Byte Code generation in Ebean. ASM - asm.objectweb.org, "Vanilla" Beans, "Dynamically generated subclasses" and method interception.
Type Inheritance Is Inheritance ORM's Ugly Duckling? SQL3 Type Inheritance and Table Inheritance with Postgres and Virtuoso.
ROWID Why a Physical ROWID is interesting for ORM, Oracle ROWID and JDBC4 RowId datatype.
ORM Updates and Deletes in a Stateless environment In a Stateless environment ORM updates and Deletes can bypass Optimistic Concurrency Checking.
List Set Map or Collection? For OneToMany and ManyToMany properties should you use List Set Map or Collection? What are the issues involved.
Persistence Context An explanation of the Persistence Context in Ebean. Specifically its role in the process of building a consistent Object graph from relational result sets.
Introduction User Guide (pdf) Install/Configure Public JavaDoc Whitepapers
General Database Specific Byte Code Deployment Annotations Features
Top Bugs Top Enhancements
woResponse