Giter Site home page Giter Site logo

hhy5277 / micronaut-predator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from micronaut-projects/micronaut-data

0.0 2.0 0.0 7.53 MB

Ahead of Time Data Repositories

License: Apache License 2.0

Java 75.83% Groovy 15.30% Dockerfile 0.06% Kotlin 1.55% CSS 5.66% JavaScript 0.83% HTML 0.56% Shell 0.20%

micronaut-predator's Introduction

Micronaut Predator

Maven Central Build Status

Micronaut Predator (short for Precomputed Data Repositories) 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.

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

  • No runtime 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.
  • 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 Predator and this work is carried out by the Micronaut compiler at compilation time.
  • No Reflection or Runtime Proxies - Predator 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 - Predator will actively check at compile time that a repository method can be implemented and fail compilation if it cannot.

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

Documentation

See the Snapshot Documentation for the current development docs.

Examples

Examples can be found in the examples directory.

micronaut-predator's People

Contributors

franz-see avatar graemerocher avatar ilopmar avatar jameskleeh avatar kensiprell avatar rafaelrenanpacheco avatar sdelamo avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.