/rql-2-queryDsl

This library aims to provide a queryDsl(JPA) based implementation for the RQL language. It is based on the net.jazdw:rql-parser. This allows to provide dynamic querying of entity properties without having to implement any queries. This is currently a POC.

Primary LanguageKotlin

Build Status Coverage Status

About

This library aims to provide a queryDsl(JPA) based implementation for the RQL language. It is based on the net.jazdw:rql-parser. This allows to provide dynamic querying of entity properties without having to implement any queries. This is currently a POC.

The RqlExcutor is the main entry class for usage. It is thread safe and an instance can be reused, as long as the underlying EntityManager is also thread safe.

Example usage

    val executor = RqlExecutor(entityManager)
    val result = executor.queryByRql(
                "and(name=John,lt(age,20))&gt(age,10)",
                Person::class.java
            )

TODO

  • Add license
  • Publish to Maven Central
  • Feature to add custom expressions
  • Implement grouping
  • Implement field selection
  • Implement aggregation
  • More extensive unit tests

Links

RQL Language