# querydsl/querydsl

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/querydsl-querydsl).**

4,964 stars · 878 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/querydsl/querydsl
- Homepage: https://querydsl.com
- awesome-repositories: https://awesome-repositories.com/repository/querydsl-querydsl.md

## Description

Querydsl is a framework for the construction of type-safe queries. It uses a fluent API and annotation-based code generation to create mirror classes from domain models, enabling compile-time validation of database queries and removing the need for manual string concatenation.

The project provides a unified query syntax that translates into specific dialects for multiple backends, including SQL, MongoDB, Lucene, and JDO. It supports advanced query capabilities such as common table expressions, window functions, geospatial operations, and complex nested subqueries.

Beyond data retrieval, the framework covers type-safe DML execution for bulk updates and deletions, as well as result mapping into Java Beans, constructors, or tuples. It includes support for in-memory collection querying and integrates with the Spring Framework for transaction management and connection handling.

## Tags

### Data & Databases

- [Fluent Query Construction](https://awesome-repositories.com/f/data-databases/expression-based-data-querying/fluent-query-apis/sql-syntax-tree-construction/fluent-query-construction.md) — Provides a method-chaining fluent API to build complex logical expressions and projections without manual string concatenation.
- [Type-Safe Query Construction](https://awesome-repositories.com/f/data-databases/expression-based-data-querying/fluent-query-apis/sql-syntax-tree-construction/fluent-query-construction/type-safe-query-construction.md) — Provides a fluent API for constructing database queries with compile-time type safety and IDE autocompletion. ([source](https://cdn.jsdelivr.net/gh/querydsl/querydsl@master/README.md))
- [Fluent Query APIs](https://awesome-repositories.com/f/data-databases/expression-based-data-querying/fluent-query-apis.md) — Uses a fluent API to ensure compile-time validation of database queries and eliminate manual string concatenation. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch01.html))
- [Filter Expression Builders](https://awesome-repositories.com/f/data-databases/graph-querying/dynamic-query-execution/filter-expression-builders.md) — Provides programmatic builders for constructing complex boolean expressions and data filters at runtime.
- [Dialect Translation](https://awesome-repositories.com/f/data-databases/graph-querying/multi-syntax-query-interfaces/dialect-translation.md) — Translates a unified internal query syntax into specific dialects for backends including SQL, MongoDB, Lucene, and JDO. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch01.html))
- [Multi-Backend Query Generators](https://awesome-repositories.com/f/data-databases/multi-backend-query-generators.md) — Translates a unified query syntax into specific dialects for SQL, MongoDB, and Lucene backends.
- [Relational Mappings](https://awesome-repositories.com/f/data-databases/relational-mappings.md) — Transforms raw database result sets into type-safe Java Beans or DTOs.
- [Dialect Transformers](https://awesome-repositories.com/f/data-databases/sql-dialect-adapters/dialect-transformers.md) — Converts a unified internal query representation into the specific syntax required by different database engines.
- [Type-Safe Client Generators](https://awesome-repositories.com/f/data-databases/type-safe-client-generators.md) — Mirrors a database schema into generated classes to enable query construction via a fluent API. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s03.html))
- [DDL and DML Executions](https://awesome-repositories.com/f/data-databases/type-safe-data-abstractions/ddl-and-dml-executions.md) — Performs type-safe DML operations including insert, update, and delete with compile-time schema validation. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s03.html))
- [Query Field Projections](https://awesome-repositories.com/f/data-databases/api-response-optimizations/field-masking/query-field-projections.md) — Restricts the fields returned by a database query to minimize data transfer and improve performance. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s07.html))
- [Common Table Expressions](https://awesome-repositories.com/f/data-databases/common-table-expressions.md) — Supports creating reusable temporary result sets using the WITH clause to simplify complex query structures. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s03.html))
- [Constructor Result Projections](https://awesome-repositories.com/f/data-databases/constructor-result-projections.md) — Transforms raw database rows into strongly typed Java objects by mapping columns to class constructors.
- [Batch Insert, Update, or Delete Operations](https://awesome-repositories.com/f/data-databases/data-insertion-interfaces/batch-insertion-interfaces/batch-insert-update-or-delete-operations.md) — Bundles multiple consecutive insert, update, or delete operations into a single database round trip. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s03.html))
- [JavaBean DTO Generators](https://awesome-repositories.com/f/data-databases/data-model-generation/javabean-dto-generators.md) — Creates JavaBean classes based on database tables to simplify data transfer and the population of data clauses. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s03.html))
- [Multi-Source Queries](https://awesome-repositories.com/f/data-databases/data-querying/multi-source-queries.md) — Executes select queries with support for filtering across multiple data sources, subqueries, and various join types. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02.html))
- [Data Type Mappings](https://awesome-repositories.com/f/data-databases/data-type-mappings.md) — Defines specific type mappings for database columns or numeric precisions to control data I/O. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s03.html))
- [Dynamic Query Generation](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/database-operations/sql-query-execution/dynamic-sql-query-executions/dynamic-query-generation.md) — Provides programmatic generation of query logic and filters that adapt based on runtime criteria. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch03.html))
- [Dynamic Predicate Composers](https://awesome-repositories.com/f/data-databases/expression-based-data-querying/linq-expression-translators/dynamic-predicate-composers.md) — Builds and combines boolean expression predicates dynamically using logical operators to create complex data filters. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch03.html))
- [Geospatial Query Engines](https://awesome-repositories.com/f/data-databases/geospatial-query-engines.md) — Executes geospatial operations including proximity searches and geometric calculations using a standardized object model.
- [Dynamic Expression Definition](https://awesome-repositories.com/f/data-databases/graph-querying/dynamic-query-execution/dynamic-expression-definition.md) — Enables creating query paths, constants, and operations programmatically when static type-safe classes are unavailable. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch03.html))
- [In-Memory Result Aggregation](https://awesome-repositories.com/f/data-databases/in-memory-result-aggregation.md) — Groups query results into maps or collections to handle parent-child relations and multi-column aggregations. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch03s02.html))
- [In-Memory State Querying](https://awesome-repositories.com/f/data-databases/in-memory-state-querying.md) — Enables filtering and projecting data from in-memory collections using a type-safe fluent API. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s08.html))
- [Proximity Queries](https://awesome-repositories.com/f/data-databases/proximity-queries.md) — Implements geospatial query methods to locate documents based on proximity to specific coordinates. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s07.html))
- [Conditional Expressions](https://awesome-repositories.com/f/data-databases/query-expression-builders/conditional-expressions.md) — Implements conditional logic like CASE statements within database queries using when-then-else structures. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch03.html))
- [Record Deletion](https://awesome-repositories.com/f/data-databases/record-deletion.md) — Implements methods for removing database rows based on conditional criteria through a fluent interface. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02.html))
- [Search Query Construction](https://awesome-repositories.com/f/data-databases/search-indexing/search-query-construction.md) — Constructs searchable Lucene queries using a fluent API for range, prefix, and fuzzy matching. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s05.html))
- [Dialect-Specific SQL Generation](https://awesome-repositories.com/f/data-databases/sql-generators/dialect-specific-sql-generation.md) — Allows customizing SQL serialization for specific database engines by subclassing the query implementation. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s03.html))
- [Subquery Execution](https://awesome-repositories.com/f/data-databases/subquery-execution.md) — Nests queries within other queries to filter results based on aggregated or related data sets. ([source](https://querydsl.github.io/))
- [Subquery Support](https://awesome-repositories.com/f/data-databases/subquery-support.md) — Provides capabilities for embedding secondary queries within primary operations for nested data lookups. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s03.html))
- [Type-Safe Query Builders](https://awesome-repositories.com/f/data-databases/type-safe-query-builders.md) — Offers a type-safe query builder for MongoDB document databases to retrieve data based on specific criteria. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s07.html))
- [Scala Query DSLs](https://awesome-repositories.com/f/data-databases/type-safe-query-builders/scala-query-dsls.md) — Provides a domain language for Scala that leverages operator overloading for concise, type-safe query syntax. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s09.html))
- [Bulk Update Utilities](https://awesome-repositories.com/f/data-databases/update-operations/bulk-update-utilities.md) — Provides utilities for performing batch modifications on database records using type-safe set and where clauses. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02.html))
- [Window Functions](https://awesome-repositories.com/f/data-databases/window-functions.md) — Implements SQL window functions to calculate values over a specific set of table rows using partitioning and ordering. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s03.html))

### Software Engineering & Architecture

- [Domain Model Mirror Generators](https://awesome-repositories.com/f/software-engineering-architecture/interface-definition-languages/type-safe-code-generators/domain-model-mirror-generators.md) — Generates type-safe mirror classes from domain models to enable compile-time validation of database queries.
- [Logical Predicate Composition](https://awesome-repositories.com/f/software-engineering-architecture/logical-predicate-composition.md) — Builds complex data filters by cascading boolean expressions and logical operators into a single executable predicate.
- [Bean Result Mapping](https://awesome-repositories.com/f/software-engineering-architecture/typescript-type-definitions/dynamic-return-type-inference/query-result-type-inference/result-type-mapping/bean-result-mapping.md) — Populates Java Beans using setters or direct field access based on query result columns. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch03s02.html))
- [Constructor Result Mapping](https://awesome-repositories.com/f/software-engineering-architecture/typescript-type-definitions/dynamic-return-type-inference/query-result-type-inference/result-type-mapping/constructor-result-mapping.md) — Transforms query rows into objects by passing result columns into a specified class constructor. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch03s02.html))
- [Meta-Model Path Mappings](https://awesome-repositories.com/f/software-engineering-architecture/meta-model-path-mappings.md) — Maps object property paths to database columns using generated metadata classes that represent the schema.

### Web Development

- [Type-Safe Query Object Generators](https://awesome-repositories.com/f/web-development/graphql-schema-generation/type-safe-query-generation/type-safe-query-object-generators.md) — Creates type-safe query objects using persisted domain models, annotations, or configuration files. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02.html))

### Programming Languages & Runtimes

- [Tuple Return Types](https://awesome-repositories.com/f/programming-languages-runtimes/multiple-return-values/tuple-return-types.md) — Returns multiple columns from a query as a type-safe tuple for structured data access. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch03s02.html))
- [Classpath Component Scanners](https://awesome-repositories.com/f/programming-languages-runtimes/partial-class-extensions/external-classpath-extensions/classpath-component-scanners.md) — Scans the project classpath for annotated classes to automatically identify entities for query type generation.

### Scientific & Mathematical Computing

- [Spatial Queries](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/computational-geometry/geometric-algorithms/spatial-queries.md) — Performs geometric operations like distance filtering and containment checks using a standardized object model. ([source](http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s04.html))

### Part of an Awesome List

- [Object Relational Mapping](https://awesome-repositories.com/f/awesome-lists/data/object-relational-mapping.md) — Framework for building type-safe queries across multiple backends.
