Daobab is an ORM library written in Java, but it also supports Kotlin.
It is built on pure Java 8 functionalities.
For Kotlin, Daobab supports null safety.
It is designed to bring a true object-oriented connection between database structures and Java or Kotlin code.
It works independently, directly on JDBC.
The goal of this library is to express SQL as a regular programming language.
Daobab avoids building relations at the Entity level. As in SQL, it is up to you how you want to build relations (joins) for a particular query — only when they are truly needed.
It is very easy to build a SELECT statement to retrieve a particular column or a set of columns from one or many tables.
Daobab treats the database as a source of data and avoids creating caches.
However, if buffers are needed, Daobab provides several features to create them and run queries against them in memory.