jOOQ
Querydsl
jOOQ | Querydsl | |
---|---|---|
100 | 7 | |
6,443 | 4,882 | |
0.9% | 0.4% | |
9.8 | 0.0 | |
about 4 hours ago | 12 days ago | |
Java | Java | |
GNU General Public License v3.0 or later | 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.
jOOQ
-
A Lisp adventure on the calm waters of the dead C (2021)
Two good examples of "builders to SQL" are
https://www.jooq.org/
and
https://www.sqlalchemy.org/
JooQ isn't everybody's taste but I use it for my job and I think it's great particularly in that you can reuse expressions and write generators for complex queries. We have a powerful search interface that combines full-text with other kinds of queries ("Is about topic T", "Data was collected between S and E") that is beautiful. I think it's funny how JooQ has that lispy f(a,b) style (no accident it is like ferocity) and how Sqlalchemy is really fluent and takes advantage of operator overloading.
-
Streaming data from RDBMS with jooq
Relational databases provide components such as cursors, which can be used to process large datasets while fetching only a limited number of rows at a time. With the help of jooq framework,we can take it a step further—leveraging cursors under the hood while seamlessly integrating with Java's Stream API. Let’s see it in action!
-
Systems ideas that sound good but almost never work
(1) DSLs work great sometimes. See https://www.jooq.org/
(2) Elastic Load Balancer is a control loop responsive to workloads, that kind of thing is a commodity
(3) Under-provisioning is rampant in most industries; see https://erikbern.com/2018/03/27/waiting-time-load-factor-and... and https://www.amazon.com/Goal-Process-Ongoing-Improvement/dp/0...
(4) Anomaly detection is not inherently a problem of distributed systems like the others, but someone facing the problems they've been burned with might think they need it. Intellectually it's tough. The first algorithm I saw that felt halfway smart was https://scikit-learn.org/1.5/modules/outlier_detection.html#... which is sometimes a miracle and I had good luck using it on text with the CNN-based embeddings we had in 2018 but none at all w/ SBERT.
-
Net 9.0 LINQ Performance Improvements
jOOQ would be one such example, https://www.jooq.org/
Not that I use this, I am a myBatis person in what concerns database access in Java, and Dapper in .NET for that matter, not a big ORM fan.
- Sqlc: Compile SQL to type-safe code
-
Serious flaws in SQL – Edgar F. Codd (1990)
> 2. ORMs do not hide SQL nastiness.
This is certainly true!
I mean: ORMs are now well known to "make the easy queries slightly more easy, while making intermediate queries really hard and complex queries impossible".
I think the are of ORMs is over. It simply did not deliver.
If a book on SQL is --say-- 100 pages, a book on Hibernate is 400 pages. So much to learn just to make the easy queries slightly easier to type? Just not worth it.
I prefer jooq any day over ORMs. And dont get me started over what tools like Hasuna have to offer.
There are also some languages (forgot the names) that are SQL-done-right. Select in the back, more type safe, more logic, more in the same steps as the query gets executed. These need to be adopted by PG and MySQL and we're good to go. (IMHO)
https://www.jooq.org/
https://hasura.io/
- ORMs are nice but they are the wrong abstraction
-
Do jOOQ DAOs support Kotlin Coroutines with R2DBC?
See: https://github.com/jOOQ/jOOQ/issues/5916
- Ask HN: What's your experience with stored procedures-heavy systems?
- SQL based language for the SQL impaired?
Querydsl
- Querydsl – Unified Queries for Java
-
PostgreSQL Is Enough
There is a bit of tooling needed but is already around. For Java for example I had very good experience with a combination of flyway [1] for migrations, testcontainers [2] for making integration tests as easy as unit tests and querydsl [3] for a query and mapping layer.
[1] https://github.com/flyway/flyway
[2] https://java.testcontainers.org/modules/databases/postgres/
[3] https://github.com/querydsl/querydsl
-
Apache Empire-Db: Full SQL Freedom for Java
http://querydsl.com/ also seems similar
-
Useful & Unknown Java Libraries - Piotr's TechBlog
As for JPA: I cannot miss the QueryDSL library for building typesafe queries. Another interesting alternative is Jinq, that provides a java stream api to query entities.
-
You might not need an ORM
> all I really want is a nice API for building queries (that actually supports all underlying database features) and automatic mapping of the results to whatever objects/structs and primitives the language supports.
For Java based solutions, check out https://www.jooq.org/ or http://querydsl.com/
-
How do access sql through java in the real world?
QueryDsl -- http://querydsl.com
- How to build SQL query strings?
What are some alternatives?
mybatis-plus - An powerful enhanced toolkit of MyBatis for simplify development
JDBI - The Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala.
Apache Hive - Apache Hive
sql2o - sql2o is a small library, which makes it easy to convert the result of your sql-statements into objects. No resultset hacking required. Kind of like an orm, but without the sql-generation capabilities. Supports named parameters.
Jinq - LINQ-style queries for Java 8