implement QueryCustomizer pattern and JPA fetch join support by vage88sg1 · Pull Request #150 · queritylib/querity

Riccardo Vagelli added 2 commits

January 27, 2026 18:34
…edEntityGraph support

- Introduced QueryCustomizer<T> interface for backend-specific optimizations
- Updated Query and QueryBuilder to support customizers list
- Implemented JPAHints utility class in querity-jpa-common
- Added support for fetchJoin using jakarta.persistence.loadgraph (additive behavior)
- Added support for namedEntityGraph using jakarta.persistence.loadgraph
- Added support for batchSize, timeout, cacheable, and generic hints
- Implemented JpaQueryContext to pass EntityManager context safely
- Integrated customizer application logic in JpaQueryFactory
- Added comprehensive unit and integration tests covering single/nested joins and named graphs
- Ensured >80% code coverage and javadoc compliance
- Introduce JpaQueryCustomizerApplier utility to handle QueryCustomizer application for JPA
- Extend AdvancedQuery and builder to support customizers
- Refactor JpaQueryFactory and JpaAdvancedQueryFactory to use the new applier
- Add tests for customizer application and error handling