Multiple abstraction levels Ebean provides multiple levels of query abstraction. ORM Queries, mixed with SQL

DTO Queries

SqlQuery and JDBC Work at the highest level of abstraction and drop down levels as needed.

Benefits of ORM Automatically avoid N+1

L2 caching to reduce database load

Queries mixing database and L2 cache

Automatically tune ORM queries

Elasticsearch for search or L3 cache.

Docker test containers Docker test containers for all the supported databases. Get 100% test coverage on all the features of the database we use.

Database migrations Built in DB migration generation and running. Support for "rebase" migrations as well as repeatable, init and 'normal' migrations.

Type safe queries We can build queries using type safe query beans. IDE auto-complete when writing queries, compile time checking and it's FUN.

Automated query tuning For ORM queries Ebean can profile the object graph being used and either automatically tune the query.

Awesome SQL Ebean produces SQL that you would hand craft yourself. Use great SQL, never generate SQL cartesian product, always honor relational limit/offset.