mrmx / rethinkdb-orm-java

A lightweight RethinkDB OR mapper for Java.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RethinkDB ORM for Java

Build Status Maven Version License Maintenance

This is a lightweight OR mapper for RethinkDB and Java. It automatically maps your POJOs to a RethinkDB compatible data structure and vice versa.

What do I get?

  • 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)

How to use?

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.

Configure as a dependency

The current version can be found here.

Maven

<dependency>
    <groupId>de.jakobjarosch.rethinkdb</groupId>
    <artifactId>rethinkdb-orm</artifactId>
    <version>{{ current-version }}</version>
</dependency>

Gradle

compile 'de.jakobjarosch.rethinkdb:rethinkdb-orm:{{ current-version }}'

About

A lightweight RethinkDB OR mapper for Java.

License:Apache License 2.0


Languages

Language:Java 99.5%Language:Shell 0.3%Language:Makefile 0.2%