spring-data-relational
MyBatis
Our great sponsors
spring-data-relational | MyBatis | |
---|---|---|
11 | 4 | |
728 | 19,404 | |
0.5% | 0.8% | |
9.1 | 9.3 | |
4 days ago | 8 days ago | |
Java | Java | |
Apache License 2.0 | Apache License 2.0 |
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.
spring-data-relational
-
You might not need an ORM
What do you think of Spring Data JDBC (https://spring.io/projects/spring-data-jdbc)?
-
Architecture Pitfalls: Don’t use your ORM entities for everything — embrace the SQL!
What do you think of Spring Data JDBC?
-
Where is the Lock annotation in Spring-data-jdbc?
Link to GitHub: https://github.com/spring-projects/spring-data-relational/blob/main/spring-data-relational/src/main/java/org/springframework/data/relational/repository/Lock.java
-
What are some more options or good practices for dynamic SQL query building?
I would ignore the hipster jOOQ and similar and start with Spring Data JDBC https://spring.io/projects/spring-data-jdbc
-
Which ORM framework are you using with Java, and why?
This makes Spring Data JDBC a simple, limited, opinionated ORM.
-
Solution to NullPointerException in java?
Though JPA is fine, and yes hibernate can be used under the hood. When it comes to spring it is mostly what level of abstraction you want. Or you could go with JDBC. And you have a spring data JDBC for having a similar abstraction as to the JPA one.
- Is there a reason to not use Spring Data JPA and Jackson in big projects?
-
Jodd – The Unbearable Lightness of Java
This is not correct. You're thinking Spring Data JPA [1]. Spring Data JDBC [2] does _not_ use any Hibernate nonsense.
[1] https://spring.io/projects/spring-data-jdbc
-
I wrote an MVP in Java and it was actually pleasant
The data moved from the awesome-but-confusing DynamoDB... into PostgreSQL✨, using Spring Data JDBC.
-
20 years of Hibernate
I didn't have much experience with Hibernate and Spring (was using JavaEE prior), it could very possibly be the case, that the team simply misused Hibernate. We might have used n+1 queries, eager loading (although I mildly remember we fixed this), oh and we had the old id generation via sequence in Hibernate, that was really pain to optimize properly. Oracle 11 does not have identity generation. I remembered this only becuase I created an issue at the time. Still not implemented, but can't blame them, who the hell uses sequences as ID generation nowadays.
MyBatis
- MyBatis makes it easier to use a relational database with OO applications
-
MyBatis VS jOOQ - a user suggested alternative
2 projects | 25 Nov 2022
-
Is there a reason to not use Spring Data JPA and Jackson in big projects?
Though a quick git blame shows that e.g. this line that uses JDBC batching was last touched 9 years ago: https://github.com/mybatis/mybatis-3/blame/395be63314d77cf5b956a77631ab0620de26df7a/src/main/java/org/apache/ibatis/executor/statement/PreparedStatementHandler.java
-
20 years of Hibernate
How about batch insert, updates, and deletes? I had to fix a broken MyBatis project recently and was surprised that this feature doesn't even seem to be implemented, at least according to this GitHub issue.
What are some alternatives?
high-performance-java-persistence - The High-Performance Java Persistence book and video course code examples
Spring Data JPA - Simplifies the development of creating a JPA-based data access layer.
JDBI - The Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala.
Hibernate - Hibernate's core Object/Relational Mapping functionality
jodd-json - JSON Java serializer and parser.
Ebean ORM - Ebean ORM
nanohttpd - Tiny, easily embeddable HTTP server in Java.
Apache Cayenne - Mirror of Apache Cayenne
OrmLite - Core ORMLite functionality that provides a lite Java ORM in conjunction with ormlite-jdbc or ormlite-android
rupy - HTTP App. Server and JSON DB - Shared Parallel (Atomic) & Distributed
Reladomo - Reladomo is an enterprise grade object-relational mapping framework for Java.