6 Best Android ORM Libraries

Using an Android ORM library can help you save lots of time working on an app with lots of database activities and focus on logic part of the app.


The Room persistence library provides an abstraction layer over SQLite. It allows developers to access database more robust while harnessing the full power of SQLite without boilerplate.

Room checks SQL queries at the compile time, that preserves your app from crash issues at runtime. It can check syntax and missing tables. Furthermore, it works pretty well with other Architecture components (like LiveData).


Object Relational Mapping Lite (OrmLite) is a library for providing some simple, lightweight functionality for persisting Java objects to SQL databases. It avoids the complexity and overhead of more standard ORM packages, hence Lite in the name.

It supports SQLite with native calls to Android OS database APIs. Data class can be configured by simply adding Java annotations. It also provides powerful abstract Database Access Object (DAO) classes.


ActiveAndroid is an active record style ORM which allows you to save and retrieve SQLite database records without ever writing a single SQL statement. The library helps you reduce lots of activities  by taking care of all the setup with some simple configurations.

All queries use the query builder syntax, or the Model.query() method. Each database record is wrapped neatly into a class with methods like save() and delete().


Requery is a light but powerful object mapping and SQL generator for Java/Kotlin/Android with RxJava and Java 8 support. You can easily map to or create databases, perform queries and updates from any platform that uses Java.

Relationships such as One-to-One, One-to-Many, Many-to-One, and Many-to-Many can be defined in your models using annotations. 


DBFlow is fast, efficient, and feature-rich Kotlin database library built on SQLite for Android. It utilizes annotation processing to generate SQLite boilerplate for you and provides a powerful SQLite query language that makes using SQLite a joy.

Since it is written in Kotlin, it supports Coroutines. That means you can query using coroutine. It also supports paging via QueryDataSource, database encryotion with SQLCipher, and RX Java.


Writing SQL and parsing query results in SQLite are quite tedious and time-consuming tasks. greenDAO frees you from these by mapping Java objects to database table. Then actions like store, update, delete, and query for Java objects becomes a simple object oriented API.

Many top Android apps rely on this library for database activities.

Leave a Comment

Your email address will not be published.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.