Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

querydsl - plans for support #1959

Open
LucaRitz opened this issue Nov 25, 2024 · 2 comments
Open

querydsl - plans for support #1959

LucaRitz opened this issue Nov 25, 2024 · 2 comments
Labels

Comments

@LucaRitz
Copy link

Just a question about the support of querydsl. It seems that the project is not maintained anymore. The last commit was about six months ago if I have a look at the moment I'm writing this question.

So what plans does blaze-persistence have? Are you going to drop the integration of querydsl?

It is a shame that such a great project like querydsl gets no maintenance anymore. The criteria-API of blaze looks nice but I have to admit that querydsl is much nicer in my opinion. There is someone who is trying to maintain the project but I'm not quite sure if this attempt will succeed.

I just see four ways to go:

  • You drop the integration without any replacement (that would be awful)
  • You switch to the maintained fork and hope the new maintainer make it (which is a great risk)
  • You help the new maintainer and maybe even take over the querydsl repository (best case?).
  • You drop the integration but create your own implementation of something like querydsl for replacement.

I think we have to talk about it because the future of querydsl doesn't look great and it is worth it to save it. Furthermore, we don't want to write software using an unmaintained dependency which you may drop in the future.

Thank you very much

@jwgmeligmeyling
Copy link
Collaborator

jwgmeligmeyling commented Nov 25, 2024

I maintain both Querydsl and its Blaze-Persistence integration, focusing exclusively on supporting querydsl-jpa. At this time, I am unable to extend support to other modules. For instance, querydsl-sql has become less relevant given the widespread adoption of jOOQ, and the remaining modules have historically seen limited usage. The current versions of Querydsl and its integration are fully compatible with the latest Hibernate 6 and Java LTS releases.

Querydsl is designed as a relatively thin abstraction layer over existing query languages. Its primary purpose is to faithfully represent query language features and expressions. Once this is achieved, the library can be considered functionally complete.

There are differing philosophies regarding the library’s development. While some advocate for frequent updates to maintain relevance, I prefer a more measured approach to ensure stability and reliability. I’ve observed that the Querydsl fork integrates most pull requests without extensive review or design discussions, which doesn’t align with my principles for maintaining high-quality software. As my contributions are made on a voluntary basis, I prioritize stability to avoid introducing breaking changes.

As a user, you have two options: the stable, official branch that receives updates as needed, and a fork that is updated more frequently. The choice depends on your needs, though personally, I have not found the additional features in the fork essential. For more extensive support, both Blaze-Persistence and Querydsl offer paid options including bug fixes and sponsored features.

Looking ahead, Blaze-Persistence is planning to introduce a static metamodel/DSL and continues to actively contribute enhancements back into Hibernate, such as support for CTEs, window functions, and an extended Criteria Builder API. These advancements are making Hibernate increasingly powerful. While Querydsl remains effective and reliable, it may become less essential over time as these alternative solutions evolve.

@beikov
Copy link
Member

beikov commented Nov 27, 2024

So what plans does blaze-persistence have? Are you going to drop the integration of querydsl?

As long as QueryDSL stays compatible with the latest Hibernate ORM versions and @jwgmeligmeyling keeps maintaining it as well as the integration, we will keep supporting it.

I proposed extensions to the JPA Criteria API (for JPA 4) that might possibly make QueryDSL obsolete, but it's up to users and maintainers of QueryDSL to decide if it makes sense to continue development/maintenance after that is released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants