Sessionless ORM

How Ebean is architected to be a sessionless ORM


Why Ebean has ElasticSearch integration

Persistence Context

An explanation of Ebean's Persistence Context and the various scopes that is supports.

OLTP vs OLAP use cases

How Ebean fits in OLTP vs OLAP use cases, when to use manually supplied SQL

SQL: Covering indexes and only fetching what we need

Optimisations available when we only fetch what we need from the Database


Maven enhancement

Enhancement of entity and query beans using the maven enhancement tile

IntelliJ plugin

Enhancement using the IntelliJ IDEA plugin

Eclipse plugin

Enhancement using the Eclipse plugin

Eclipse APT

Eclipse setup for Query bean generation (via Java annotation processor).

IntelliJ debugger

Looks at Idea debugger setting that invokes lazy loading

DB Migration

DB Migration introduction

Introduction to DB migration

Repeatable migrations

Use of @View, extra-ddl.xml and repeatable migrations



Save capture

Capture save events and assert the beans that were saved and method calls that were invoked.

Find by Id

Provide stub responses to find by id

SQL Capture

Use LoggedSql to capture SQL statements

Static Finder

Provide a test double when using Finders on static fields


Persistence Context

Overview of the persistence context


Automatic query tuning using profiling

Query bean generation

Generate query beans using java annotation processor

Lazy loading beyond the context

Ebean and EclipseLink do it, Hibernate throws LazyInitialisationException

Using query beans

Using query beans and how they work

Generate Finders

Using the codegen maven plugin to generate Finders

FindCount & PagedList

How Ebean's findCount query works and how to use PagedList


Persist Cascade

Save cascade statement ordering, reference beans and @OneToMany back references


Mapping introduction

Introduction to mapping with @DocCode, @DocSortable & @DocEmbedded

@History / SQL2011


Walk through the @History / SQL2011 support with Oracle and Postgres

Comparison to Hibernate Envers

Comparison with the approach taken by Hibernate Envers