MCPcopy Index your code
hub / github.com/OpenFeign/querydsl

github.com/OpenFeign/querydsl @7.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 7.4.0 ↗ · + Follow
16,960 symbols 78,903 edges 2,416 files 2,810 documented · 17%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CircleCI codecov Maven Central Version

Querydsl

Querydsl is a framework which enables the construction of type-safe SQL-like queries for multiple backends including JPA, MongoDB and SQL in Java.

Instead of writing queries as inline strings or externalizing them into XML files they are constructed via a fluent API.

Querydsl Maven Central

Why forking?

Querydsl is at best stale, at worse dead. By the time I made this fork, last commit was one year old and last release over 2 years old.

I reach out to the queryDSL team, but, honestly, they don't care.

Why forking under openfeign?

Well, openfeign is already stabilished and having querydsl under it gives a better idea on how committed I am on keeping the lights on.

What's next?

Initial goals accomplished.

We now have a stable fork with regular releases. Patches from community are happening and this project is moving idenpendently.

I'm here to help those who help themselves.

What does it mean?

  • If you send a PR, I will review, give an honest feedback, merge as soon I'm happy with it, and release as soon it's practical.
  • If you create an issue, well, I'm unlikely to get involved.

I dedicate some of my free time to this project, so I will favor people that are contributing to it.

What is the endgame?

Get a querydsl project active! May be as a fork, may be as a wake up call to present querydsl project. If querydsl team gets their act thogether and pick up maintaining the project, this fork will most likely be archived. If the want my help (which they don't at the present time) I can help.

I need feature X? Or bug Z fixed?

Well, you will need to get your hands dirty. I might fix bugs or create features, but mostly when they affect my day job. Sorry, just a single guy here doing free work on spare time.

Documentation

Full reference documentation is available at openfeign.github.io/querydsl.

Getting started

Use these tutorials to get started

Examples

Querydsl example projects

Support

Free support is provided in the Discussion Section and on StackOverflow. Please do not post questions as issue. Such issues will be closed immediately.

How to build

Querydsl provides releases via public Maven repositories, but you can also build the sources yourself like this

$ mvn -Pquickbuild,{projectname} clean install

Where projectname is one of the Maven profiles (e.g. jpa, sql, mongodb, etc. or all)

For more information visit the documentation site.

Docker Compose setup

For running tests, a Docker Compose setup is provided. It comes with the following databases:

  • Oracle Express Edition 11g
  • PostgreSQL 16
  • MySQL 5.5.34
  • Cubrid 9.2

You will need to install Docker and docker-compose.

To launch the database containers:

$ docker-compose up -d

All of the databases' default ports are forwarded to the host machine.

How to contribute

GitHub pull requests are the way to contribute to Querydsl.

If you are unsure about the details of a contribution, ask on the Querydsl Google Group or create a ticket on GitHub.

Slack

If you want to join Slack workspace for Querydsl contributors join by following this link.

Extension points exported contracts — how you extend this code

R2DBCCommonQueryFactory (Interface)
Factory interface for query and clause creation. The default implementation is R2DBCQueryFactory and should [11 implementers]
querydsl-libraries/querydsl-r2dbc/src/main/java/com/querydsl/r2dbc/R2DBCCommonQueryFactory.java
HibernateTest (Interface)
@author Shredder121 [11 implementers]
querydsl-libraries/querydsl-jpa/src/test/java/com/querydsl/jpa/HibernateTest.java
SQLDetailedListener (Interface)
An extended listener interface that details much more about the preparation and execution of queries [10 implementers]
querydsl-libraries/querydsl-sql/src/main/java/com/querydsl/sql/SQLDetailedListener.java
FilteredClause (Interface)
FilteredClause is an interface for clauses with a filter condition @author tiwe @param concrete subtype [20 implementers]
querydsl-libraries/querydsl-core/src/main/java/com/querydsl/core/FilteredClause.java
Serializer (Interface)
Serializer defines a common interface for EntityType serializers @author tiwe [51 implementers]
querydsl-tooling/querydsl-codegen/src/main/java/com/querydsl/codegen/Serializer.java
Mapping (Interface)
Specifies mapping customization options. @author tiwe [17 implementers]
querydsl-tooling/querydsl-sql-codegen/src/main/java/com/querydsl/sql/codegen/support/Mapping.java
SupplierDao (Interface)
(no doc) [11 implementers]
querydsl-examples/querydsl-example-sql-spring/src/main/java/com/querydsl/example/dao/SupplierDao.java
SupplierDao (Interface)
(no doc) [11 implementers]
querydsl-examples/querydsl-example-r2dbc-sql-codegen/src/main/java/com/querydsl/example/dao/SupplierDao.java

Core symbols most depended-on inside this repo

add
called by 2918
querydsl-libraries/querydsl-core/src/main/java/com/querydsl/core/group/GroupCollector.java
select
called by 1178
querydsl-libraries/querydsl-jpa/src/main/java/com/querydsl/jpa/JPQLQuery.java
get
called by 1012
querydsl-libraries/querydsl-core/src/main/java/com/querydsl/core/Tuple.java
eq
called by 818
querydsl-libraries/querydsl-jpa/src/main/java/com/querydsl/jpa/JPQLSubQuery.java
where
called by 805
querydsl-libraries/querydsl-jpa/src/main/java/com/querydsl/jpa/JPQLSubQuery.java
put
called by 765
querydsl-libraries/querydsl-core/src/main/java/com/querydsl/core/util/BeanMap.java
fetch
called by 724
querydsl-libraries/querydsl-core/src/main/java/com/querydsl/core/Fetchable.java
from
called by 720
querydsl-libraries/querydsl-jpa/src/main/java/com/querydsl/jpa/JPQLQuery.java

Shape

Method 13,417
Class 3,245
Interface 195
Enum 66
Function 37

Languages

Java98%
Kotlin2%

Modules by API surface

querydsl-libraries/querydsl-sql/src/test/java/com/querydsl/sql/SelectBase.java202 symbols
querydsl-libraries/querydsl-jpa/src/test/java/com/querydsl/jpa/AbstractJPATest.java196 symbols
querydsl-libraries/querydsl-r2dbc/src/test/java/com/querydsl/r2dbc/SelectBase.java188 symbols
querydsl-libraries/querydsl-sql/src/main/java/com/querydsl/sql/SQLTemplates.java152 symbols
querydsl-libraries/querydsl-r2dbc/src/main/java/com/querydsl/r2dbc/SQLTemplates.java152 symbols
querydsl-libraries/querydsl-jpa/src/test/java/com/querydsl/jpa/ParsingTest.java102 symbols
querydsl-libraries/querydsl-sql/src/main/java/com/querydsl/sql/dml/EmptyResultSet.java98 symbols
querydsl-libraries/querydsl-core/src/main/java/com/querydsl/core/util/ResultSetAdapter.java98 symbols
querydsl-tooling/querydsl-sql-codegen/src/main/java/com/querydsl/sql/codegen/ant/AntMetaDataExporter.java92 symbols
querydsl-tooling/querydsl-sql-codegen/src/main/java/com/querydsl/sql/codegen/MetadataExporterConfigImpl.java83 symbols
querydsl-tooling/querydsl-maven-plugin/src/main/java/com/querydsl/maven/AbstractMetaDataExportMojo.java82 symbols
querydsl-libraries/querydsl-mongodb/src/test/java/com/querydsl/mongodb/document/MongodbQueryTest.java76 symbols

Datastores touched

(mysql)Database · 1 repos
querydslDatabase · 1 repos
querydslDatabase · 1 repos

For agents

$ claude mcp add querydsl \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact