- Notifications
You must be signed in to change notification settings - Fork264
ebean-orm/ebean
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Multiple abstraction levels: Ebean provides multiple levels of query abstractionORM 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 inDB 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 eitherautomatically 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 safequery 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.
- 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
Post questions or issues to theEbean google grouporgithub discussions
- JDK 11 or higher installed
- Maven installed
git clone git@github.com:ebean-orm/ebean.git
mvn clean install
Ebean 13 uses Java modules with module-info. This means that there are stricter compilationrules in place now than when building with classpath pre version 13.
For Maven Surefire testing we use<surefire.useModulePath>false</surefire.useModulePath>
suchthat 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.
Right now we can't use Eclipse IDE to build Ebean and run its tests due to its poor supportfor java modules. Seeebean/issues/2653
The current recommendation is to use IntelliJ IDEA as the IDE to build and hack Ebean.
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
About
Ebean ORM