Java ORM

Open-source Java projects categorized as ORM

Top 23 Java ORM Projects

  • MyBatis

    MyBatis SQL mapper framework for Java

    Project mention: MyBatis VS jOOQ - a user suggested alternative | | 2022-11-25
  • mybatis-plus

    An powerful enhanced toolkit of MyBatis for simplify development

  • Mergify

    Tired of breaking your main and manually rebasing outdated pull requests?. Managing outdated pull requests is time-consuming. Mergify's Merge Queue automates your pull request management & merging. It's fully integrated to GitHub & coordinated with any CI. Start focusing on code. Try Mergify for free.

  • greenDAO

    greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases.

  • LitePal

    An Android library that makes developers use SQLite database extremely easy.

  • jOOQ

    jOOQ is the best way to write SQL in Java

    Project mention: Ask HN: What's your experience with stored procedures-heavy systems? | | 2023-08-18

    I've worked on a few systems that were stored procedure heavy with Microsoft SQL server, not so much because I am a .NET guy, some of these came when I was working on super-random projects for a consulting company.

    My take is that it is a lot like building a system that has an API over the database except that instead of writing in API in, say, Java and exposing it through an http API with, say, JAX-RS, you are writing the API in stored procedures and accessing it through JDBC or ODBC or the native API of the database.

    It seems very possible to build some thin layer that uses metadata to make an http API over stored procedures.

    I'd say that systems like that can work very well.

    The basic challenge is maintaining version control over your scripts, my coworkers were rubyists on my first such project and built a system inspired by migrations in Ruby on Rails where we wrote up and down migration scripts for every database change. I carried that approach to other projects where the people had less discipline to begin with. There is a little awkwardness there that the "down" script that reverts a procedure to a previous version has a cut-and-pasted copy of the old version of the stored procedure, if I had to do it over again I'd make something where each version of a stored proc is in a numbered file and the "migrations" just say "upgrade ABC proc to version 7" or maybe you could make something that looks into the VCS and finds the old version.

    From what I've read, PL/SQL from Oracle looks a lot better than the Transact-SQL language in SQL server but I've never done a major project with Oracle. Most places I've worked at recently use PostgreSQL and I think this would be a viable architecture for that.

    One area where it seems to be a hassle is with the "query builder" pattern, for instance where I work now we have a very complex search form with a huge number of options that builds a SQL query. I think you can do that kind of thing with what they call "Dynamic SQL", see

    but it seems preferable to do that kind of thing with a real programming language, particularly if you have tools like

  • Hibernate

    Hibernate's core Object/Relational Mapping functionality

    Project mention: Como desenvolvi um backend web em Clojure | | 2023-07-03
  • ActiveAndroid

    Active record style SQLite persistence for Android

  • Sonar

    Write Clean Java Code. Always.. Sonar helps you commit clean code every time. With over 600 unique rules to find Java bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • requery

    requery - modern SQL based query & persistence for Java / Kotlin / Android

    Project mention: Learning Android’s Room Database Made Easy | /r/androiddev | 2023-01-22

    ah, I was thinking of but I wasn't really sure, also that project is dead oh no :D

  • Spring Data JPA

    Simplifies the development of creating a JPA-based data access layer.

    Project mention: How to write a native query in spring boot jpa(postgres) which has "where in" check on composite columns? | /r/javahelp | 2023-05-26

    What you are trying to do is not supported in JPA/JPQL or Spring Data (see here) Not even all databases support that syntax as far as I'm aware. You either need to concat the columns or add functionality to do this yourself, perhaps a Hibernate UserType will work.

  • android-database-sqlcipher

    Android SQLite API based on SQLCipher

    Project mention: financial app | /r/androiddev | 2022-12-24
  • sugar

    Insanely easy way to work with Android Database. (by chennaione)

  • android-sqlite-asset-helper

    An Android helper class to manage database creation and version management using an application's raw asset files

  • Speedment

    Speedment is a Stream ORM Java Toolkit and Runtime

  • ormlite

    ORMLite Android functionality used in conjunction with ormlite-core

    Project mention: Struggling from imposter syndrome | /r/AskProgramming | 2023-02-28

    I am doing an internship as a mobile application developer. The technologies used in my company are Java in android studio, SQLite, Retrofit, Volley, and Orm - lite. I started to learn how to work with these libraries and databases in android studio. But I couldn't able to understand the concept of orm-lite yet. I've read the official documentation and other resources. Asked for help from my seniors. But every time I asked for help they show me code how they work with orm-lite and say this is easy. This is the fourth month of my internship. But I still couldn't understand how to work with orm-lite. Because of that, they didn't give me any tasks for me. This is really annoying situation for me. I think now I am exposed to imposter syndrome. I am really frustrated at this moment. If anyone in this group has faced a situation like this. How did you get away with it?

  • Ebean ORM

    Ebean ORM

    Project mention: loom and database drivers | /r/java | 2023-02-18
  • zfoo

    💡Extremely fast enterprise server framework, can be used in RPC, game server, web server.

    Project mention: Extremely fast enterprise server framework, can be used in RPC, web server framework, game server framework. | /r/java | 2023-02-17

    I'm guessing it's this one:

  • ObjectiveSql

    Writing SQL using Java syntax

  • Elide

    Elide is a Java library that lets you stand up a GraphQL/JSON-API web service with minimal effort.

  • sprinkles

    Sprinkles is a boiler-plate-reduction-library for dealing with databases in android applications

  • OrmLite

    Core ORMLite functionality that provides a lite Java ORM in conjunction with ormlite-jdbc or ormlite-android

  • Simple Flat Mapper

    Fast and Easy mapping from database and csv to POJO. A java micro ORM, lightweight alternative to iBatis and Hibernate. Fast Csv Parser and Csv Mapper

  • jimmer

    A revolutionary ORM framework for both java and kotlin.

  • SimpleNoSQL

    A simple NoSQL client for Android. Meant as a document store using key/value pairs and some rudimentary querying. Useful for avoiding the hassle of SQL code.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-08-18.

Java ORM related posts


What are some of the best open-source ORM projects in Java? This list will help you:

Project Stars
1 MyBatis 18,910
2 mybatis-plus 15,044
3 greenDAO 12,580
4 LitePal 8,012
5 jOOQ 5,639
6 Hibernate 5,542
7 ActiveAndroid 4,715
8 requery 3,126
9 Spring Data JPA 2,752
10 android-database-sqlcipher 2,684
11 sugar 2,633
12 android-sqlite-asset-helper 2,150
13 Speedment 2,071
14 ormlite 1,579
15 Ebean ORM 1,409
16 zfoo 1,402
17 ObjectiveSql 1,229
18 Elide 957
19 sprinkles 779
20 OrmLite 561
21 Simple Flat Mapper 422
22 jimmer 412
23 SimpleNoSQL 388
Collect and Analyze Billions of Data Points in Real Time
Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.