Coder Social home page Coder Social logo

kaiyaok2 / ebean Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ebean-orm/ebean

0.0 0.0 0.0 32.64 MB

Ebean ORM

Home Page: https://ebean.io

License: Apache License 2.0

Shell 0.04% Java 93.27% Kotlin 0.11% ANTLR 0.05% HTML 0.08% PLpgSQL 2.97% SQLPL 0.71% TSQL 2.77%

ebean's Introduction

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

ebean's People

Contributors

rbygrave avatar rpraml avatar jonaspoehler avatar rob-bygrave avatar npraml avatar dependabot[bot] avatar tobias- avatar koendg avatar ryszard-trojnacki avatar thibaultmeyer avatar alexwagner avatar focbenz avatar thomasfoc avatar rvowles avatar ksperling avatar ichtil avatar ajcamilo avatar nedge avatar kdeng avatar wobu avatar yuanxuegui avatar bigjimlefou avatar rnentjes avatar focdanisch avatar sebastian-mrozek avatar outersky avatar vladimirfx avatar 0xbaadf00d avatar jroper avatar apxeolog-df avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.