kotlin-jpa-specification-dsl VS Spring Data JPA

Compare kotlin-jpa-specification-dsl vs Spring Data JPA and see what are their differences.


This library provides a fluent DSL for querying spring data JPA repositories using spring data Specifications (i.e. the JPA Criteria API), without boilerplate code or a generated metamodel. (by consoleau)

Spring Data JPA

Simplifies the development of creating a JPA-based data access layer. (by spring-projects)
Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • Scout APM - Less time debugging, more time building
  • SonarLint - Clean code begins in your IDE with SonarLint
kotlin-jpa-specification-dsl Spring Data JPA
1 10
228 2,392
0.4% 0.9%
0.0 9.2
10 months ago 4 days ago
Kotlin Java
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of kotlin-jpa-specification-dsl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-03-04.

Spring Data JPA

Posts with mentions or reviews of Spring Data JPA. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-01.
  • From PHP to Java
    1 project | reddit.com/r/javahelp | 10 Jun 2022
    You should also consider, that Spring Boot has a lot of similarities/implementations with "J2EE, Java EE, Jakarta EE". For example "Spring Data JPA" (https://spring.io/projects/spring-data-jpa) tries to be compliant with the implmentation of the JPA specification (https://jakarta.ee/specifications/persistence/3.0/).
  • Amazon Aurora’s Read/Write Capability Enhancement with Apache ShardingSphere-JDBC
    2 projects | dev.to | 1 Jun 2022
    ShardingSphere-JDBC provides read/write splitting features and it is integrated with application programs so that the complex configuration between application programs and database clusters can be separated from application programs. Developers can manage the Shard through configuration files and combine it with ORM frameworks such as Spring JPA and Mybatis to completely separate the duplicated logic from the code, which greatly improves the ability to maintain code and reduces the coupling between code and database.
  • What is a simple way to read from a Oracle DataBase and write to a text file, not using Spring Batch (but using Java)? Too complicated for Spring Batch.
    3 projects | reddit.com/r/javahelp | 17 May 2022
    "Spring Batch" is not the Spring technology to access databases conveniently. That would be "Spring Data" or even "Spring Data JPA": https://spring.io/projects/spring-data-jpa
  • Java Spring EventSourcing and CQRS Clean Architecture microservice 👋⚡️💫
    9 projects | dev.to | 18 Apr 2022
    In this project we have microservice events tore implemented using PostgreSQL,Spring Data JPA and Kafka, for projections used Spring Data MongoDB and communicate by REST.
  • Hibernate 6 has arrived
    7 projects | reddit.com/r/java | 3 Apr 2022
    Be sure to check the recent Spring Boot 3.0 milestones for that. The updated Spring Data JPA 3.0 has not upgraded its build to Hibernate 6 yet as there a couple of changes in the latter that need adaption on our side, but you should be able to actually run on it already, if you tweak the dependencies to rather use the H6 artifacts. Would be awesome if you reported your findings on the ticket linked above.
  • Do JDBC ao Spring Data (ou: é possível reduzir código?)
    2 projects | dev.to | 28 Mar 2022
  • Multiple Spring Boot applications in the same project
    3 projects | dev.to | 5 Dec 2021
    the command part is implemented via Spring Data JPA
  • Realistic Test Data Generation for Java Apps
    3 projects | dev.to | 22 Sep 2021
    The closer your test or demo data is to the real world the better you can test the application for UX, improve, and catch corner cases during development. In this article, I'll show you how to use Vaadin's example data generator to create demo data for a simple SQL database. The article shows how to build a complete app combining Spring Boot, JPA, Project Lombok, Vaadin, and MariaDB.
  • Jpa cant map json to entities recreating every time
    1 project | reddit.com/r/javahelp | 27 Apr 2021
    The rest of this might end up sounding like a rant against Spring Data JPA. For what you're doing, you need to be very aware of what's happening in the entity manager. Spring Data JPA is hiding the entity manager from you, so you have to know how a JPA repository is actually implemented to have an idea of what is going on. Your CRUD repository is going to be an instance of SimpleJpaRepository, so you can reference the Spring Data JPA source code to understand what is going on. Personally, this is exactly why I wouldn't use Spring Data JPA and its automagical CRUD repositories. Writing correct JPA code is hard enough, and if you don't know what the entity manager is doing, you will have a bad time. Spring Data JPA hiding things seems counterproductive to using JPA. Anyways...
  • What is the Specification Pattern
    2 projects | reddit.com/r/programming | 4 Mar 2021
    I have written some utility functions for composing Specifications in a nicer and safer way, inspired by how QueryDSL composes Predicates. I created a PR in attempt to merge it directly to Spring Data JPA itself (https://github.com/spring-projects/spring-data-jpa/pull/404), but unfortunately it was rejected because the Spring team plans to majorly rework Specifications in the near future (https://github.com/spring-projects/spring-data-jpa/issues/1943#issuecomment-752504333). Feel free to copy the code in my PR for your own use.

What are some alternatives?

When comparing kotlin-jpa-specification-dsl and Spring Data JPA you can also consider the following projects:

MyBatis - MyBatis SQL mapper framework for Java

JDBI - jdbi is designed to provide convenient tabular data access in Java; including templated SQL, parameterized and strongly typed queries, and Streams integration

jOOQ - jOOQ is the best way to write SQL in Java

requery - requery - modern SQL based query & persistence for Java / Kotlin / Android

Hibernate - Hibernate's core Object/Relational Mapping functionality

blaze-persistence - Rich Criteria API for JPA providers

spring-data-r2dbc - Provide support to increase developer productivity in Java when using Reactive Relational Database Connectivity. Uses familiar Spring concepts such as a DatabaseClient for core API usage and lightweight repository style data access.

Exposed - Kotlin SQL Framework

Apache Cayenne - Mirror of Apache Cayenne

Querydsl - Unified Queries for Java

Ebean ORM - Ebean ORM

Apache Hive - Apache Hive