Kotlin JDSL: Writing JPA Criteria API more easily with Kotlin

Kotlin JDSL: Writing JPA Criteria API more easily with Kotlin
In this post, the author discusses the inconveniences of using Criteria API with JPA and introduces Kotlin JDSL, a library that makes writing Criteria queries easier and more readable. The article explains how Kotlin JDSL improves upon Criteria API and gives examples of how it can be used to write various types of queries.
Issues with using Criteria API
The author explains the downsides of using Criteria API, including the need to compile every time there's a change to an entity variable name and the difficulty of determining errors in the autogenerated metamodel. They also mention issues with using converters on collection fields.
Introducing Kotlin JDSL
The article introduces Kotlin JDSL, a library that provides a more readable and easier-to-use syntax for writing Criteria queries. The author explains how the library eliminates the need for reflection when acquiring field names from KProperty objects.
Comparing Kotlin JDSL and Criteria API
The author compares Kotlin JDSL and Criteria API in terms of syntax and readability, showing how Kotlin JDSL provides a more concise and intuitive way of writing queries.
Using Kotlin JDSL
The article gives examples of how Kotlin JDSL can be used to write Join queries and queries for entities that are not related. The author also mentions that their team has set up an environment where they can use Kotlin JDSL to easily create queries and find errors during code reviews.
Conclusion
The article concludes by mentioning that Kotlin JDSL supports many more Criteria API queries, such as Update, Delete, and Subquery, and hints at a future post discussing how to use Kotlin JDSL with Hibernate Reactive.