• Stars
    star
    456
  • Rank 92,290 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 5 years ago
  • Updated about 1 month 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
5,929
star
2

micronaut-examples

Example Projects Using Micronaut
531
star
3

micronaut-starter

Generates Micronaut applications
Java
198
star
4

micronaut-security

The official Micronaut security solution
Java
165
star
5

micronaut-spring

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

micronaut-kotlin

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

micronaut-kafka

Integration between Micronaut and Apache Kafka
Java
82
star
8

micronaut-aws

Projects specific to integrating Micronaut and Amazon Web Services (AWS)
Java
80
star
9

micronaut-test

Repository for Test Related Utilities for Micronaut
Java
78
star
10

micronaut-graphql

A repository for Micronaut and GraphQL integrations
Java
78
star
11

micronaut-openapi

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

micronaut-sql

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

micronaut-grpc

Integration between Micronaut and GRPC
Java
65
star
14

micronaut-gradle-plugin

A Gradle Plugin for Micronaut
Java
64
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
48
star
17

micronaut-kubernetes

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

micronaut-flyway

Integration between Micronaut and Flyway
Java
35
star
19

micronaut-mongodb

Integrations between Micronaut and MongoDB
Java
32
star
20

micronaut-micrometer

Integration between Micronaut and Micrometer
Java
31
star
21

micronaut-guides

Guides and Tutorials on how to use Micronaut including sample code
Java
31
star
22

presentations

A repository of Presentations about Micronaut
Java
29
star
23

micronaut-redis

Integration between Micronaut and Redis
Java
28
star
24

micronaut-servlet

Servlet support in Micronaut
Groovy
28
star
25

micronaut-views

Micronaut Integration with Server Side View Rendering
Java
26
star
26

micronaut-r2dbc

Integration with R2DBC modules
Java
25
star
27

micronaut-cache

This project includes caching support for Micronaut
Java
25
star
28

micronaut-serialization

Build Time Serialization APIs for Micronaut
Java
24
star
29

micronaut-picocli

Integration between Micronaut and PicoCLI
Java
21
star
30

micronaut-maven-plugin

Maven plugin to execute Micronaut applications
Java
19
star
31

micronaut-discovery-client

Micronaut's Discovery Client
Java
18
star
32

micronaut-reactor

Integration between Micronaut and Reactor
Java
18
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-groovy

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

micronaut-elasticsearch

Integration between Micronaut and Elasticsearch
Java
17
star
38

micronaut-pulsar

Integration between Micronaut and Pulsar
Java
16
star
39

micronaut-aot

Experimental Ahead-of-time optimizations for Micronaut
Java
15
star
40

micronaut-acme

A repository for Micronaut and ACME integrations
Java
14
star
41

micronaut-project-template

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

micronaut-tracing

Distributed Tracing Support
Java
13
star
43

micronaut-jms

Integration between Micronaut and JMS
Java
13
star
44

micronaut-mqtt

Micronaut Integration with MQTT
Java
12
star
45

micronaut-liquibase

Integration between Micronaut and Liquibase
Java
12
star
46

micronaut-nats

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

micronaut-oracle-cloud

Integration between Micronaut and Oracle Cloud
Java
11
star
48

micronaut-docs

Documentation Utilities for Micronaut
CSS
10
star
49

micronaut-problem-json

Produce application/problem+json responses from a Micronaut application.
Java
10
star
50

micronaut-platform

Micronaut Bill Of Materials and Version Catalog
Java
9
star
51

micronaut-neo4j

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

micronaut-test-resources

Test resources support
Java
8
star
53

micronaut-cassandra

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

micronaut-azure

Micronaut Projects for Microsoft Azure
Java
8
star
55

micronaut-jaxrs

Support for the JAX-RS API in Micronaut
Java
8
star
56

micronaut-multitenancy

Java
6
star
57

micronaut-object-storage

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

micronaut-couchbase

Integration between Micronaut and Couchbase
CSS
6
star
59

micronaut-jackson-xml

Micronaut Integration with Jackson XML
Java
6
star
60

micronaut-chatbots

Create Chat Bots with the Micronaut Framework
Java
6
star
61

micronaut-rxjava3

Integration between Micronaut and RxJava 3
Java
5
star
62

micronaut-ratelimiter

Micronaut integrations with rate limiting libraries
Java
5
star
63

micronaut-control-panel

Java
4
star
64

micronaut-rss

Java
4
star
65

micronaut-starter-ui

JavaScript
4
star
66

micronaut-coherence

Integration between Micronaut and Oracle Coherence
Java
4
star
67

micronaut-ignite

Integration with Apache Ignite
Java
4
star
68

static-website

The Micronaut website
Groovy
4
star
69

micronaut-microstream

Java
3
star
70

micronaut-email

Java
3
star
71

micronaut-netflix

Projects that integrate Micronaut with Netflix OSS
Java
3
star
72

micronaut-hibernate-validator

Integration with Hibernate Validator for Micronaut
Java
3
star
73

micronaut-sourcegen

Compilation time source code generators
Java
3
star
74

micronaut-camel

Integration between Micronaut and Apache Camel
Java
3
star
75

micronaut-crac

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

micronaut-validation

Validation support for Micronaut
Java
3
star
77

micronaut-comparisons

Holds some example projects for performance comparisons
Java
3
star
78

micronaut-upgrade

This repository contains instructions to upgrade your applications between Micronaut framework versions.
JavaScript
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

homebrew-tap

Homebrew tap repository for the Micronaut CLI
Ruby
1
star
83

micronaut-logging

Java
1
star
84

micronaut-docs-deploy

Github Action to Deploy Documentation
Shell
1
star
85

micronaut-rxjava2

Integration between Micronaut and RxJava 2
Java
1
star
86

static-website-test

Groovy
1
star
87

micronaut-opensearch

Micronaut Integration with OpenSearch
Java
1
star