github immutables/immutables 2.8.0
2.8.0 Criteria & Repositories API
on GitHub

(not a bugfix release yet, sorry, expect more bugfixes in 2.8.x versions)

2.8.0 is available on Maven Central now

Criteria & Repositories API

Combine power of immutable objects with the flexibility of querying them

Immutables team is pleased to announce Immutables 2.8.0 release.

Major focus of this release was Criteria API which enables
users to generate model-specific query DSL. Generated class (along with criteria runtime) allows accessing different backends in a unified, fluent and type-safe manner.

Benefits over raw driver API usage or string based abstractions (DSLs) are:

  1. Compile-time checking and type safety allows for much fewer mistakes
  2. IDE auto-completion guides through the choice of fields and operators
  3. Best in class readability due to drastically reduced number of parentheses and specially designed DNF approach
  4. Easier model refactoring

Benefits over existing frameworks like Spring Data, Morphia, QueryDSL or jOOQ are:

  1. Derive immutable implementation, query DSL, repository and more from a single definition
  2. Pluggable Sync / Async / Reactive execution models
  3. Pluggable backend implementations
  4. Generated or custom Repositories (aka DAOs) can be controlled to generate reading / writing or watching operations on entities

Full release announcement here:
Getting started with criteria API:

9 months ago