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.
|
|
|