micronaut-data

Ahead of Time Data Repositories

Github stars Tracking Chart

Micronaut Data

Maven Central

Micronaut Data is a database access toolkit that uses Ahead of Time (AoT) compilation to pre-compute queries for repository interfaces that are then executed by a thin, lightweight runtime layer.

Micronaut Data is inspired by GORM and Spring Data, however improves on those solutions in the following ways:

  • Compilation Time model - Both GORM and Spring Data maintain a runtime meta-model that uses reflection to model relationships between entities. This model consumes significant memory and memory requirements grow as your application size grows. The problem is worse when combined with Hibernate which maintains its own meta-model as you end up with duplicate meta-models. Micronaut Data instead moves this model into the compiler.
  • No query translation - Both GORM and Spring Data use regular expressions and pattern matching in combination with runtime generated proxies to translate a method definition on a Java interface into a query at runtime. No such runtime translation exists in Micronaut Data and this work is carried out by the Micronaut compiler at compilation time.
  • No Reflection or Runtime Proxies - Micronaut Data uses no reflection or runtime proxies, resulting in better performance, smaller stack traces and reduced memory consumption due to a complete lack of reflection caches (Note that the backing implementation, for example Hibernate, may use reflection).
  • Type Safety - Micronaut Data will actively check at compile time that a repository method can be implemented and fail compilation if it cannot.

See also the Micronaut Data Announcement for details about how and why Micronaut Data was built.

Documentation

See the Documentation for more information.

See the Snapshot Documentation for the current development docs.

Examples

Examples can be found in the examples directory.

Snapshots and Releases

Snaphots are automatically published to JFrog OSS using Github Actions.

See the documentation in the Micronaut Docs for how to configure your build to use snapshots.

Releases are published to JCenter and Maven Central via Github Actions.

A release is performed with the following steps:

Main metrics

Overview
Name With Ownermicronaut-projects/micronaut-data
Primary LanguageJava
Program languageJava (Language Count: 5)
Platform
License:Apache License 2.0
所有者活动
Created At2019-07-18 15:18:18
Pushed At2025-09-13 03:20:51
Last Commit At
Release Count137
Last Release Namev4.13.4 (Posted on 2025-08-21 06:58:51)
First Release Namev1.0.0.M1 (Posted on )
用户参与
Stargazers Count475
Watchers Count38
Fork Count214
Commits Count3.1k
Has Issues Enabled
Issues Count1093
Issue Open Count190
Pull Requests Count1825
Pull Requests Open Count29
Pull Requests Close Count414
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private