This is a lightweight OR mapper for RethinkDB and Java. It automatically maps your POJOs to a RethinkDB compatible data structure and vice versa.
- Lightweight OR mapper using annotation processors
- Support to map fields to other database field names
- Support to ignore fields from model or database
- Possibility to automatically create tables and inidices
- Connection pooling support across threads (also standalone available)
The integration is using annotation processors to generate the DAO classes. Ensure that your IDE has enabled annotation processing.
To get started you've to annotate your POJO.
@RethinkDBModel
public class MyModel {
@PrimaryKey private String id;
private ReqlPoint location;
}
The annotation processor will automatically generate a MyModelDAO
class which
can be used to create, read, update, delete your model (CRUD). It is also possible
to stream the change sets.
The DAO can be used very easily.
try (Connection connection = RethinkDB.r.connection().connect()) {
MyModelDAO dao = new MyModelDAO(connection);
MyModel model = dao.read("2a22fda0");
model.location = new ReqlPoint(12.234, 23.764);
dao.update("2a22fda0", model);
}
More examples can be found here.
The current version can be found here.
<dependency>
<groupId>de.jakobjarosch.rethinkdb</groupId>
<artifactId>rethinkdb-orm</artifactId>
<version>{{ current-version }}</version>
</dependency>
compile 'de.jakobjarosch.rethinkdb:rethinkdb-orm:{{ current-version }}'