• Stars
    star
    1,429
  • Rank 31,663 (Top 0.7 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 11 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ebean ORM

Build Maven Central : ebean License Multi-JDK Build

Build with database platforms

H2Database Postgres MySql MariaDB Oracle SqlServer DB2 LUW Yugabyte

Build with Java Early Access versions

ebean EA datasource EA migration EA test-docker EA ebean-agent EA


Ebean ORM for Java & Kotlin

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.

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

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

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

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

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.

Performance isn't optional: Optimise queries to only fetch what we need (partial objects). Automatically avoid N+1 via a smart load context.

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

Sponsors

Need help?

Post questions or issues to the Ebean google group or github discussions

Documentation

Goto https://ebean.io/docs/

Maven central

Maven central - g:io.ebean

Building Ebean from source

  • JDK 11 or higher installed
  • Maven installed
  • git clone [email protected]:ebean-orm/ebean.git
  • mvn clean install

Ebean 13 uses Java modules with module-info. This means that there are stricter compilation rules in place now than when building with classpath pre version 13.

For Maven Surefire testing we use <surefire.useModulePath>false</surefire.useModulePath> such that tests run using classpath and not module-path. We are doing this until all the tooling (Maven, IDE) improves in the area of testing with module-info.

Eclipse IDE

Right now we can't use Eclipse IDE to build Ebean and run its tests due to its poor support for java modules. See ebean/issues/2653

The current recommendation is to use IntelliJ IDEA as the IDE to build and hack Ebean.

IntelliJ IDEA

We want to get IntelliJ to run tests using classpath similar to Maven Surefire. To do this set: JUnit -> modify options -> Do not use module-path option

To set this option as the global default for IntelliJ use:

Run - Edit Configurations -> Edit configuration templates -> JUnit -> modify options - Do not use module-path option

end

More Repositories

1

examples

Example use Ebean with Maven, Gradle, Java and Kotlin
Java
46
star
2

ebean-agent

Enhancer Agent for EbeanORM
Java
12
star
3

website-source

Source for the public website / documentation
HTML
10
star
4

ebean-migration

DB Migration runner (similar to Flyway) which can be used standalone or with Ebean (run migrations on EbeanServer start)
Java
9
star
5

ebean-spring-txn

Integration with Spring transactions with Ebean
Java
9
star
6

ebean-elasticsearch

ElasticSearch integration with Ebean ORM
Java
7
star
7

ebean-datasource

Implementation of datasource-api - a SQL DataSource implementation
Java
7
star
8

ebean-test-containers

Ability to control docker containers. e.g. Postgres running as docker container for testing
Java
5
star
9

ebean-jackson

Jackson ObjectMapper module that uses Ebean's JSON support for serialisation and deserialisation
Java
5
star
10

ebean-annotation

Mapping annotations for Ebean
Java
4
star
11

ebean-orm.github.io

Generated public website - source is in website-source repository
HTML
4
star
12

ebean-ignite

Use Apache Ignite as L2 cache
Java
2
star
13

ebean-collectd

Collectd reporter for Ebean metrics
Java
2
star
14

ebean-mocker

Ability to set a Mockito type mock EbeanServer as the 'default' EbeanServer
Java
2
star
15

ebean-simple-cluster

Default TCP socket implementation of cluster transport
Java
1
star
16

avaje-datasource-alert

Simple SMTP based DataSourceAlert implementation for sending a email on DB down
Java
1
star
17

ebean-avaje-metrics

An adapter such that the metrics from Ebean can be supplied and reported via Avaje metrics
Java
1
star
18

ebean-ddl-runner

Runs DDL/SQL scripts
Java
1
star
19

ebean-hazelcast

Hazelcast L2 cache option
Java
1
star
20

ebean-types

Extra value types like Inet, Cidr
Java
1
star
21

ebean-insight

Java
1
star
22

ebean-uuidv7

Version 7 UUID generator
Java
1
star