News
Unleashing Predator: Precomputed Data Repositories
Since we launched Micronaut just over a year ago, the number one feature users have asked us for is "GORM for Java" or Spring Data Support
Unequivocally, the number one feature request since Micronaut unveil.
Predator — short for Precomputed Data Repositories — uses Micronaut's ahead-of-time (AoT) compilation APIs to move the entity meta-model into your compiler and translate a finder expression like findByTitle into the appropriate SQL or JPA-QL query at compilation time. A very thin runtime layer that uses Micronaut's reflection-free compilation-time AOP then only has to execute the query and return the results.
If you ever used GORM Data Services or Spring Data you will instantly understand the appeal.
Predator JDBC
The JDBC implementation is exemplifies @graemerocher’s vision for a reflection-free, no runtime proxies, no dynamic classloading world of JVM apps.
The JDBC implementation completely eliminates reflection, runtime proxies, and dynamic classloading for your persistence layer and results in massive performance gains.
A vision which translates perfectly into the GraalVM world:
Another reason to be excited about Predator JDBC is that it is compatible out-of-the-box with GraalVM Substrate native images without needing complex, byte-code-mutating build-time enhancement solutions, like those required to get Hibernate operational on GraalVM.
Geb
Geb 3.0 standalone script in groovy (2.5.6)
Say hello to scripting with Geb and Grapes annotations. If I am not mistaken, this was developed during GR8Conf EU 2019 Hacker Garten.
Grails
Removing illegal reflective access warnings in Grails 4
@nulleric shows how to remove reflection warnings when using JDK11 with Grails 4.
I’ve not verified it but I think this could be use with other frameworks such as Ratpack or Micronaut when using Groovy as it is more a Gradle workaround than anything specific to Grails.
Comment
Yesterday, project Predator (Precomputed Data Repositories) was open-sourced. You may have heard the Micronaut team talk about the project as a foundation library not just a framework to build an specific type of app. I would like to highlight the next sentence included in the announcement blog post as it conveys a vision to embrace:
Sergio del Amo