spring-data-relational
StreamEx
spring-data-relational | StreamEx | |
---|---|---|
11 | 2 | |
728 | 2,147 | |
-0.4% | - | |
9.1 | 6.4 | |
7 days ago | 20 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.
StreamEx
-
Favorite hidden gem library?
I really like StreamEx. I do not know why people do not use it often, the syntax is just wonderful.
-
Jodd – The Unbearable Lightness of Java
It gets more perverse if you need to flatMap, or transmute components of map types, etc. If you want even more power, take a look at https://github.com/amaembo/streamex. This sort of container manipulation bread and butter for business processing. I use it every day, sometimes with a dozen operations. This (with liberal use of `final` values) makes for some pretty functional-looking code.
I'll grant you the Kotlin or Scala version is slightly more compact. But not fundamentally different, like the Go version.
I (and the pretty much every language designer in the post-Java era) disagree with you about checked exceptions, but that's a whole different thread...
What are some alternatives?
MyBatis - MyBatis SQL mapper framework for Java
jOOλ - jOOλ - The Missing Parts in Java 8 jOOλ improves the JDK libraries in areas where the Expert Group's focus was elsewhere. It adds tuple support, function support, and a lot of additional functionality around sequential Streams. The JDK 8's main efforts (default methods, lambdas, and the Stream API) were focused around maintaining backwards compatibility and implementing a functional API for parallelism.
high-performance-java-persistence - The High-Performance Java Persistence book and video course code examples
Javaslang - vʌvr (formerly called Javaslang) is a non-commercial, non-profit object-functional library that runs with Java 8+. It aims to reduce the lines of code and increase code quality.
JDBI - The Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala.
derive4j - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses.
jodd-json - JSON Java serializer and parser.
protonpack - Stream utilities for Java 8
nanohttpd - Tiny, easily embeddable HTTP server in Java.
underscore-java - java port of Underscore.js
Ebean ORM - Ebean ORM
Functional Java - Backport of Java 8's lambda expressions to Java 7, 6 and 5