• Stars
    star
    463
  • Rank 94,661 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ahead of Time Data Repositories

Micronaut Data

Maven Central Quality Gate Status Revved up by Gradle Enterprise

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.

Quick Start

To get started quickly with Micronaut Data JPA you can use Micronaut Launch either via the web browser or curl to create a correctly configured application with a Gradle build:

$ curl https://launch.micronaut.io/demo.zip?features=data-jpa -o demo.zip
$ unzip demo.zip -d demo

Or for Micronaut Data JDBC:

$ curl https://launch.micronaut.io/demo.zip?features=data-jdbc -o demo.zip
$ unzip demo.zip -d demo

Note that you can append &build=maven to the URL to switch to a Maven build.

Documentation

See the Documentation for more information.

See the Snapshot Documentation for the current development docs.

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 Maven Central via Github Actions.

A release is performed with the following steps:

More Repositories

1

micronaut-core

Micronaut Application Framework
Java
6,037
star
2

micronaut-examples

Example Projects Using Micronaut
530
star
3

micronaut-starter

Generates Micronaut applications
Java
208
star
4

micronaut-security

The official Micronaut security solution
Java
168
star
5

micronaut-spring

A collection of utilities for Spring users of Micronaut
Java
164
star
6

micronaut-kotlin

Additional projects that improve the Micronaut experience with Kotlin
Kotlin
89
star
7

micronaut-aws

Projects specific to integrating Micronaut and Amazon Web Services (AWS)
Java
85
star
8

micronaut-kafka

Integration between Micronaut and Apache Kafka
Java
83
star
9

micronaut-test

Repository for Test Related Utilities for Micronaut
Java
81
star
10

micronaut-graphql

A repository for Micronaut and GraphQL integrations
Java
81
star
11

micronaut-openapi

Generates OpenAPI / Swagger Documentation for Micronaut projects
Java
79
star
12

micronaut-sql

Projects to support SQL Database access in Micronaut
Java
72
star
13

micronaut-gradle-plugin

A Gradle Plugin for Micronaut
Java
66
star
14

micronaut-grpc

Integration between Micronaut and GRPC
Java
66
star
15

micronaut-profiles

Repository for the profiles (project templates for the CLI) used to create Micronaut applications
Groovy
63
star
16

micronaut-gcp

Integration between Micronaut and Google Cloud Platform (GCP)
Java
50
star
17

micronaut-kubernetes

This project includes integration between Micronaut and Kubernetes
Java
44
star
18

micronaut-flyway

Integration between Micronaut and Flyway
Java
37
star
19

micronaut-micrometer

Integration between Micronaut and Micrometer
Java
35
star
20

micronaut-guides

Guides and Tutorials on how to use Micronaut including sample code
Java
35
star
21

micronaut-mongodb

Integrations between Micronaut and MongoDB
Java
34
star
22

micronaut-redis

Integration between Micronaut and Redis
Java
30
star
23

micronaut-views

Micronaut Integration with Server Side View Rendering
Java
29
star
24

micronaut-servlet

Servlet support in Micronaut
Java
29
star
25

presentations

A repository of Presentations about Micronaut
Java
28
star
26

micronaut-cache

This project includes caching support for Micronaut
Java
27
star
27

micronaut-serialization

Build Time Serialization APIs for Micronaut
Java
26
star
28

micronaut-r2dbc

Integration with R2DBC modules
Java
26
star
29

micronaut-discovery-client

Micronaut's Discovery Client
Java
21
star
30

micronaut-picocli

Integration between Micronaut and PicoCLI
Java
21
star
31

micronaut-maven-plugin

Maven plugin to execute Micronaut applications
Java
20
star
32

micronaut-pulsar

Integration between Micronaut and Pulsar
Java
19
star
33

micronaut-rabbitmq

Micronaut extensions to easily publish and consume messages with RabbitMQ
Java
18
star
34

micronaut-build

Common Gradle build scripts
Java
18
star
35

micronaut-oauth2

Java
17
star
36

micronaut-reactor

Integration between Micronaut and Reactor
Java
17
star
37

micronaut-groovy

Projects that enhance the Micronaut + Groovy experience
Groovy
17
star
38

micronaut-aot

Experimental Ahead-of-time optimizations for Micronaut
Java
17
star
39

micronaut-tracing

Distributed Tracing Support
Java
16
star
40

micronaut-elasticsearch

Integration between Micronaut and Elasticsearch
Java
16
star
41

micronaut-liquibase

Integration between Micronaut and Liquibase
Java
15
star
42

micronaut-platform

Micronaut Bill Of Materials and Version Catalog
Java
14
star
43

micronaut-acme

A repository for Micronaut and ACME integrations
Java
14
star
44

micronaut-jms

Integration between Micronaut and JMS
Java
14
star
45

micronaut-project-template

A template project for new Micronaut modules to use
Java
14
star
46

micronaut-nats

Integration between Micronaut and Nats.io (https://nats.io/)
Java
14
star
47

micronaut-mqtt

Micronaut Integration with MQTT
Java
13
star
48

micronaut-oracle-cloud

Integration between Micronaut and Oracle Cloud
Java
13
star
49

micronaut-docs

Documentation Utilities for Micronaut
CSS
11
star
50

micronaut-problem-json

Produce application/problem+json responses from a Micronaut application.
Java
11
star
51

micronaut-neo4j

Includes integrations between Micronaut and Neo4j Graph Database
Java
10
star
52

micronaut-object-storage

Micronaut Object Storage provides a uniform API to create, read and delete objects in the major cloud providers.
Java
9
star
53

micronaut-jaxrs

Support for the JAX-RS API in Micronaut
Java
9
star
54

micronaut-test-resources

Test resources support
Java
8
star
55

micronaut-cassandra

Integration with the DataStax Cassandra Driver for Micronaut
Groovy
8
star
56

micronaut-azure

Micronaut Projects for Microsoft Azure
Java
8
star
57

micronaut-multitenancy

Java
7
star
58

micronaut-sourcegen

Compilation time source code generators
Java
7
star
59

micronaut-couchbase

Integration between Micronaut and Couchbase
CSS
6
star
60

micronaut-jackson-xml

Micronaut Integration with Jackson XML
Java
6
star
61

micronaut-validation

Validation support for Micronaut
Java
6
star
62

micronaut-chatbots

Create Chat Bots with the Micronaut Framework
Java
6
star
63

micronaut-rxjava3

Integration between Micronaut and RxJava 3
Java
5
star
64

micronaut-control-panel

Java
4
star
65

micronaut-rss

Java
4
star
66

micronaut-starter-ui

JavaScript
4
star
67

micronaut-ratelimiter

Micronaut integrations with rate limiting libraries
Java
4
star
68

micronaut-coherence

Integration between Micronaut and Oracle Coherence
Java
4
star
69

static-website

The Micronaut website
Groovy
4
star
70

micronaut-ignite

Integration with Apache Ignite
Java
4
star
71

micronaut-guice

Utilities for moving from Guice to Micronaut
Java
4
star
72

micronaut-microstream

Java
3
star
73

micronaut-email

Java
3
star
74

micronaut-netflix

Projects that integrate Micronaut with Netflix OSS
Java
3
star
75

micronaut-hibernate-validator

Integration with Hibernate Validator for Micronaut
Java
3
star
76

micronaut-camel

Integration between Micronaut and Apache Camel
Java
3
star
77

micronaut-comparisons

Holds some example projects for performance comparisons
Java
3
star
78

micronaut-crac

Coordinated Restore at Checkpoint support for the Micronaut Framework
Java
3
star
79

micronaut-lambda-todo

Java
2
star
80

github-actions

Shell
2
star
81

micronaut-jmx

Support for exposing Micronaut management endpoints over JMX
Java
2
star
82

micronaut-json-schema

Micronaut integration with JSON schema
Java
2
star
83

micronaut-upgrade

This repository contains instructions to upgrade your applications between Micronaut framework versions.
JavaScript
2
star
84

homebrew-tap

Homebrew tap repository for the Micronaut CLI
Ruby
1
star
85

micronaut-logging

Java
1
star
86

micronaut-rxjava2

Integration between Micronaut and RxJava 2
Java
1
star
87

static-website-test

Groovy
1
star
88

micronaut-docs-deploy

Github Action to Deploy Documentation
Shell
1
star
89

micronaut-eclipsestore

Java
1
star
90

micronaut-langchain4j

Integration between Micronaut and Langchain4j
Java
1
star
91

micronaut-opensearch

Micronaut Integration with OpenSearch
Java
1
star
92

micronaut-graal-languages

Language Integrations with GraalVM
Java
1
star