Unified Queries for Java

Related tags

querydsl
Overview

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.

Website shields.io Build Status Coverage Status Stackoverflow Maven Central

Getting started

Use these tutorials to get started

Examples

Querydsl example projects

Support

Free support is provided in the Querydsl Google Group and on StackOverflow.

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 project homepage at http://www.querydsl.com/.

Vagrant/Puppet setup

For running tests, a Vagrant/Puppet setup is provided. It is based on Ubuntu 12.04 and comes with the following databases:

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

You will need to install VirtualBox, Puppet, Vagrant, the vagrant-vbguest plugin and librarian-puppet. You will also need to download the Oracle XE 11g installer file (oracle-xe-11.2.0-1.0.x86_64.rpm.zip) manually and place it in the devops directory.

To launch the virtual machine:

$ cd devops
$ librarian-puppet install
$ vagrant up

All of the databases' default ports are forwarded to the host machine. See the Vagrantfile for details.

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.

Issues
  • Hibernate 5.2 method signature incompatibilty

    Hibernate 5.2 method signature incompatibilty

    I tried out the latest Query DSL 4.1.2 and Hibernate 5.2, and hibernate appears to have changed method signatures.

    java.lang.NoSuchMethodError: org.hibernate.Session.createQuery(Ljava/lang/String;)Lorg/hibernate/Query;
        at com.querydsl.jpa.hibernate.DefaultSessionHolder.createQuery(DefaultSessionHolder.java:36)
        at com.querydsl.jpa.hibernate.AbstractHibernateQuery.createQuery(AbstractHibernateQuery.java:104)
        at com.querydsl.jpa.hibernate.AbstractHibernateQuery.createQuery(AbstractHibernateQuery.java:97)
        at com.querydsl.jpa.hibernate.AbstractHibernateQuery.fetch(AbstractHibernateQuery.java:174)
    

    The Query class moved from org.hibernate to org.hibernate.query so the APIs don't match anymore.

    I'm sure there are more broken areas as well.

    opened by johnjaylward 67
  • Generated class does not pass inits to embedded class in Constructor. NPE due to Path Initialization Problems.

    Generated class does not pass inits to embedded class in Constructor. NPE due to Path Initialization Problems.

    The HibernateDomainExporter and the JPAAnnotationProcessor seem to produce different results. Moreover, the JPAAnnotationProcessor produces an unusable result with PathInit Problems.

    Functional Result using JPA Mapping File and HibernateDomainExporter:

    public QMyEntity(Class<? extends MyEntity> type, PathMetadata metadata, PathInits inits) extends MyMappedSuperclass {
         super(type, metadata, inits);
         this._super = new QMyMappedSuperclass(type, metadata, inits);
         this.embeddedAttribute= inits.isInitialized("embeddedAttribute") ? new QMyEmbeddedAttribute(forProperty("embeddedAttribute"), inits.get("embeddedAttribute")) : null;
    }
    

    Nonfunctional result with Path Init Problems using JPAAnnotationGenerator and JPA Annotations. QueryInit Annotation does not help because Constructor ignores them. The second inits.get("embeddedAttribute") argument to the Constructor of QMyEmbeddedAttribute is missing in the following generated code:

    public QMyEntity(Class<? extends MyEntity> type, PathMetadata metadata, PathInits inits) extends MyMappedSuperclass {
            super(type, metadata, inits);
            this._super = new QMyMappedSuperclass(type, metadata, inits);
            this.embeddedAttribute = inits.isInitialized("embeddedAttribute") ? new QMyEmbeddedAttribue(forProperty("embeddedAttribute")) : null;
    }
    
    opened by tpischke 43
  • Constructorexpression default values for primitives.

    Constructorexpression default values for primitives.

    Hello Timo,

    could you take a look at this and provide feedback?

    I hope to hear from you soon.

    opened by Shredder121 40
  • Improve docs for Detachable

    Improve docs for Detachable

    Fixes #984

    opened by timowest 39
  • Allow join on primary key ids so as to offer a work around an Hibernate issue

    Allow join on primary key ids so as to offer a work around an Hibernate issue

    The following Hibernate issue can be worked around by having the oin on done on the primary key ids instead of on the objects: https://hibernate.atlassian.net/browse/HHH-2772

    It would be helpful if the JPAQueryBase innerJoin method would also accept Long parameters.

    We would then be able to do a: query.innerJoin(qRolloutAdmin.rollout).on(qRolloutAdmin.rollout.id.eq(qRollout.id));

    opened by stephaneeybert 37
  • Is querydsl dead?

    Is querydsl dead?

    Hi,

    I cannot fail to notice that the project has 249 outstanding issues, 32 PR-s, no merges since february, etc. Is the project dead?

    I think there are more than a few people willing to help resolve issues, but at this pace of merging it hardly motivates people to use querydsl at all.

    Not sure how other people do this, but for me if a project has outstanding issues but no commits since months, that's a red flag, and I won't be using that tool.

    Please either resolve the issues without fixes, or onboard someone to help out.

    Keeping the project in this seemingly dead state won't help and it would be a shame if people don't use this awesome tool just because it looks like it's abandoned.

    Thanks, A concerned user of querydsl

    opened by reegnz 35
  • Kotlin support

    Kotlin support

    Kotlin is pretty popular these days, and it would be nice to have Kotlin support in Query DSL, in addition to the Scala one. It could allow me to use Query DSL SQL for the use case I have detail on https://spring.io/blog/2016/03/20/a-geospatial-messenger-with-kotlin-spring-boot-and-postgresql.

    feature 
    opened by sdeleuze 35
  • Connection pooling does not appear to be correctly supported

    Connection pooling does not appear to be correctly supported

    Using database connection pooling with org.apache.commons.dbcp2.BasicDataSource, upon executing a SQLQuery the connection is never returned to the pool, unless you put it inside a transaction, which is not always convenient. The following workaround manually closes the connection, returning it to the pool.

    protected Connection getSQLQueryConnection(@NonNull SQLQuery query) {
        Field declaredField;
        try {
            declaredField = SQLQuery.class.getSuperclass().getDeclaredField("conn");
            declaredField.setAccessible(true);
            return (Connection) declaredField.get(query);
        } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
            log.error("Could not retrieve connection object from Object {}", query);
        }
    
        return null;
    }
    
    protected void closeSQLQuery(@NonNull SQLQuery query) {
        try {
            if (!TransactionSynchronizationManager.isActualTransactionActive()) {
                getSQLQueryConnection(query).close();
            } else {
                log.warn("Not closing connection on transaction wrapped connection {}", query);
            }
        } catch (SQLException e) {
            log.error("Could not close connection {}", query, e);
        }
    }
    

    The most notable drawback with this mechanism is the fact that it relies on the programmer knowing that this must be called, otherwise the connection pool will soon run out of available connections.

    It would be far better if querydsl could provide support for connection pooling, ensuring that connections are returned to the pool upon execution finishing.

    feature 
    opened by robertandrewbain 29
  • Add enforcer config

    Add enforcer config

    enforcer maven plugin usage to ensure backwards compatibility.

    https://github.com/jeluard/semantic-versioning

    opened by timowest 29
  • Add pluggable validation for PathBuilder

    Add pluggable validation for PathBuilder

    Fixes #975

    opened by timowest 29
  • Support other means of identifying  entities, embeddables etc. other than annotations

    Support other means of identifying entities, embeddables etc. other than annotations

    Currently, even the core Configuration abstraction of the APT assumes that entities and embeddables are identified by annotations. While that's fine for most cases, there have been other approaches popping up jMolecules recently that rather identify those concepts by types. E.g. in jMolecules, an entity would implement the Entity interface, embeddables would either be Identifier, Association or ValueObject.

    I'd love to see a variant of Configuration that rather asks for Predicate instances and some helper code so that I can easily implement a Configuration like this:

    class MyConfiguration implements NewConfiguration {
    
      Predicate<…> getEntitiesPredicate() {
        return Predicates.implements(Entity.class);
      }
    }
    

    The current implementation could then be adapted to by:

    class LegacyConfigurationAdapter implements NewConfiguration {
    
      private final Configuration delegate;
    
      Predicate<…> getEntitiesPredicate() {
        return Predicates.isAnnotatedWith(delegate.getEntitiesAnnotation());
      }
    }
    

    I'm not very knowledgeable about developing APT plugins but would be happy to help to draft a prototype if you think it's worth pursuing.

    opened by odrotbohm 1
  • Remove mysema-commons-lang as dependency

    Remove mysema-commons-lang as dependency

    This old dependency was only used for its CloseableIterator and Pair. I reimplemented those two classes from scratch in querydsl core.

    Reason for removal: Library not maintained, version below 1.0. Also possible licensing concerns, see #1922.

    opened by F43nd1r 1
  • Bump maven-javadoc-plugin from 3.3.0 to 3.3.1

    Bump maven-javadoc-plugin from 3.3.0 to 3.3.1

    Bumps maven-javadoc-plugin from 3.3.0 to 3.3.1.

    Commits
    • 2d22cca [maven-release-plugin] prepare release maven-javadoc-plugin-3.3.1
    • 7b7813e [MJAVADOC-450] Artifacts with a classifier are ignored when looking for resou...
    • 0d0e0cc [MJAVADOC-618] Goal javadoc:aggregate fails with submodules packaged as war
    • a2acaa2 [MJAVADOC-137] transform verify script from bsh to groovy
    • 16ca119 Clean up slf4j-simple
    • 87dbfb2 [MJAVADOC-677] Using "requires static transitive" makes javadoc goal fail
    • d770460 [MJAVADOC-680] JDK 16+: Error fetching link: ...\target\javadoc-bundle-option...
    • 292ebb7 Bump slf4j-simple from 1.7.30 to 1.7.32
    • fe6d738 Bump mockito-core from 3.9.0 to 3.12.0
    • d2dd532 [MJAVADOC-679] "Unable to compute stale date" in a directory with accent char...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [#2979] fix problem with generating OSGI manifests

    [#2979] fix problem with generating OSGI manifests

    I had to change some things in master pom :

    1. maven-checkstyle-plugin - I had a problem with a generated class within querydsl-osgi-itest-jpa maven subproject
    2. maven-javadoc-plugin - I needed to append javax.interceptor/javax.interceptor-api because I had a problem with generating javadocs with JDK8 when @Transactional annotation was used
    3. Create additional 'osgi' profile
    opened by jherkel 0
  • Bump checkstyle from 8.44 to 9.0

    Bump checkstyle from 8.44 to 9.0

    Bumps checkstyle from 8.44 to 9.0.

    Release notes

    Sourced from checkstyle's releases.

    checkstyle-9.0

    https://checkstyle.org/releasenotes.html#Release_9.0

    checkstyle-8.45.1

    https://checkstyle.org/releasenotes.html#Release_8.45.1

    checkstyle-8.45

    https://checkstyle.org/releasenotes.html#Release_8.45

    Commits
    • 76546b6 [maven-release-plugin] prepare release checkstyle-9.0
    • 47c7324 doc: relasenotes 9.0
    • 378a868 dependency: bump pmd.version from 6.37.0 to 6.38.0
    • f4b0113 Issue #10745: Removed hardcoded configs in test methods
    • c74d3bb Issue #10745: Add inline config support for tests with multiple modules
    • 71f7ced Issue #10745: Added functionality for module parent
    • 7c5900d infra: disable pitest pitest-report-java-ast-visitor until #10755
    • a81510a Issue #10751: use forbidden api annotation for specific suppression
    • 87a8533 Issue #10745: Added new TestInputConfiguration to hold child modules and viol...
    • 1891eec Issue #10745: Renamed TestInputConfiguration to ModuleInputConfiguration
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump plexus-utils from 3.3.0 to 3.4.1

    Bump plexus-utils from 3.3.0 to 3.4.1

    Bumps plexus-utils from 3.3.0 to 3.4.1.

    Release notes

    Sourced from plexus-utils's releases.

    3.4.1

    🐛 Bug Fixes

    📦 Dependency updates

    3.4.0

    🚀 New features and improvements

    • Multi-Release-Jar with initial support for JDK 9 and JDK 10 NIO API (#120) @​mkarg
    • Using NIO 8 to allow better offloading / performance (#111) @​mkarg
    • NIO-7: Potential performance gains using offloading (#91) @​mkarg
    • Various small speed improvements (#106) @​gnodet
    • Add removeAttribute method to Xpp3Dom (#94) @​olamy
    • Add public String[] getRawCommandline() to avoid OS dependency code in unit tests (#68) @​zosrothko

    🐛 Bug Fixes

    ... (truncated)

    Commits
    • abc5db6 [maven-release-plugin] prepare release plexus-utils-3.4.1
    • c01b83e Bump actions/setup-java from 2.2.0 to 2.3.0 (#168)
    • bb346ad Fixes #163: Regression: encoding error when parsing a ISO-8859-1 xml (#164)
    • 5e6d78e Delete .travis.yml
    • 938e6f8 Bump jmh-generator-annprocess from 1.32 to 1.33
    • e797c88 Bump jmh-core from 1.32 to 1.33
    • 9f8c3ba Bump actions/setup-java from 2.1.0 to 2.2.0
    • 0a18bb8 Bump junit from 4.13.1 to 4.13.2
    • 85b7e7f fix link to search.maven.org: HTTPS required
    • c778cf1 Bump actions/setup-java from 1 to 2.1.0 (#157)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump hibernate.version from 5.4.8.Final to 5.5.7.Final

    Bump hibernate.version from 5.4.8.Final to 5.5.7.Final

    Bumps hibernate.version from 5.4.8.Final to 5.5.7.Final. Updates hibernate-core from 5.4.8.Final to 5.5.7.Final

    Changelog

    Sourced from hibernate-core's changelog.

    Changes in 5.5.7.Final (August 25, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31970

    ** Bug * [HHH-14760] - Close resource - potential resource leak

    ** Improvement * [HHH-14777] - Support LockOptions.SKIP_LOCKED for MariaDB 10.6+ * [HHH-14625] - Avoid performing a ServiceRegistryLookup in JtaTransactionCoordinatorImpl constructor

    ** Task * [HHH-14788] - Upgrade to Byteman 4.0.16 * [HHH-14776] - Optimize Loader instantiate when EntityPersister is known * [HHH-14773] - JdbcCoordinatorImpl micro improvement: unguarded tracev parameters should be constant * [HHH-14771] - Upgrade to Byte Buddy 1.11.12

    Changes in 5.5.6.Final (August 04, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31968

    ** Bug * [HHH-14768] - hibernate-jpamodelgen fails to generate metamodel for recursive type variable definition

    Changes in 5.5.5.Final (July 29, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31963

    ** Bug * [HHH-14740] - HHH-14740 Still need the nullcheck removed in HHH-14727 * [HHH-14724] - Metamodel generates invalid model classes for converters and user types

    ** Improvement * [HHH-14755] - Allow to instantiate a DefaultIdentifierGeneratorFactory which does not bind to the BeanManager

    ** Task * [HHH-10661] - Method serialize() in StatefulPersistenceContext has duplicate code

    Changes in 5.5.4.Final (July 19, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31959

    ** Bug

    ... (truncated)

    Commits
    • 180af74 5.5.7.Final
    • 6e6b6eb HHH-14788 Upgrade to Byteman 4.0.16
    • 1ba3595 HHH-14777 Enabled skip locked rendering for MariaDB 10.6+
    • 971d0f1 HHH-13848 - Fix for potential NullPointerException
    • 544dbbf HHH-14770 Revert "HHH-14770 Optimise access to EntityPersister in Metamodel v...
    • fb0279e HHH-14625 Avoid performing a ServiceRegistryLookup in JtaTransactionCoordinat...
    • 135361a HHH-14776 Optimise Loader operations by using the Persister directly
    • edcce3e HHH-14776 Promote method instantiate(EntityPersister, Serializable) from Sess...
    • 9a335c1 HHH-14770 Optimise access to EntityPersister in Metamodel via Class type
    • 2390416 HHH-14773 JdbcCoordinatorImpl micro improvement: unguarded tracev parameters ...
    • Additional commits viewable in compare view

    Updates hibernate-envers from 5.4.8.Final to 5.5.7.Final

    Changelog

    Sourced from hibernate-envers's changelog.

    Changes in 5.5.7.Final (August 25, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31970

    ** Bug * [HHH-14760] - Close resource - potential resource leak

    ** Improvement * [HHH-14777] - Support LockOptions.SKIP_LOCKED for MariaDB 10.6+ * [HHH-14625] - Avoid performing a ServiceRegistryLookup in JtaTransactionCoordinatorImpl constructor

    ** Task * [HHH-14788] - Upgrade to Byteman 4.0.16 * [HHH-14776] - Optimize Loader instantiate when EntityPersister is known * [HHH-14773] - JdbcCoordinatorImpl micro improvement: unguarded tracev parameters should be constant * [HHH-14771] - Upgrade to Byte Buddy 1.11.12

    Changes in 5.5.6.Final (August 04, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31968

    ** Bug * [HHH-14768] - hibernate-jpamodelgen fails to generate metamodel for recursive type variable definition

    Changes in 5.5.5.Final (July 29, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31963

    ** Bug * [HHH-14740] - HHH-14740 Still need the nullcheck removed in HHH-14727 * [HHH-14724] - Metamodel generates invalid model classes for converters and user types

    ** Improvement * [HHH-14755] - Allow to instantiate a DefaultIdentifierGeneratorFactory which does not bind to the BeanManager

    ** Task * [HHH-10661] - Method serialize() in StatefulPersistenceContext has duplicate code

    Changes in 5.5.4.Final (July 19, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31959

    ** Bug

    ... (truncated)

    Commits
    • 180af74 5.5.7.Final
    • 6e6b6eb HHH-14788 Upgrade to Byteman 4.0.16
    • 1ba3595 HHH-14777 Enabled skip locked rendering for MariaDB 10.6+
    • 971d0f1 HHH-13848 - Fix for potential NullPointerException
    • 544dbbf HHH-14770 Revert "HHH-14770 Optimise access to EntityPersister in Metamodel v...
    • fb0279e HHH-14625 Avoid performing a ServiceRegistryLookup in JtaTransactionCoordinat...
    • 135361a HHH-14776 Optimise Loader operations by using the Persister directly
    • edcce3e HHH-14776 Promote method instantiate(EntityPersister, Serializable) from Sess...
    • 9a335c1 HHH-14770 Optimise access to EntityPersister in Metamodel via Class type
    • 2390416 HHH-14773 JdbcCoordinatorImpl micro improvement: unguarded tracev parameters ...
    • Additional commits viewable in compare view

    Updates hibernate-ehcache from 5.4.8.Final to 5.5.7.Final

    Changelog

    Sourced from hibernate-ehcache's changelog.

    Changes in 5.5.7.Final (August 25, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31970

    ** Bug * [HHH-14760] - Close resource - potential resource leak

    ** Improvement * [HHH-14777] - Support LockOptions.SKIP_LOCKED for MariaDB 10.6+ * [HHH-14625] - Avoid performing a ServiceRegistryLookup in JtaTransactionCoordinatorImpl constructor

    ** Task * [HHH-14788] - Upgrade to Byteman 4.0.16 * [HHH-14776] - Optimize Loader instantiate when EntityPersister is known * [HHH-14773] - JdbcCoordinatorImpl micro improvement: unguarded tracev parameters should be constant * [HHH-14771] - Upgrade to Byte Buddy 1.11.12

    Changes in 5.5.6.Final (August 04, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31968

    ** Bug * [HHH-14768] - hibernate-jpamodelgen fails to generate metamodel for recursive type variable definition

    Changes in 5.5.5.Final (July 29, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31963

    ** Bug * [HHH-14740] - HHH-14740 Still need the nullcheck removed in HHH-14727 * [HHH-14724] - Metamodel generates invalid model classes for converters and user types

    ** Improvement * [HHH-14755] - Allow to instantiate a DefaultIdentifierGeneratorFactory which does not bind to the BeanManager

    ** Task * [HHH-10661] - Method serialize() in StatefulPersistenceContext has duplicate code

    Changes in 5.5.4.Final (July 19, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31959

    ** Bug

    ... (truncated)

    Commits
    • 180af74 5.5.7.Final
    • 6e6b6eb HHH-14788 Upgrade to Byteman 4.0.16
    • 1ba3595 HHH-14777 Enabled skip locked rendering for MariaDB 10.6+
    • 971d0f1 HHH-13848 - Fix for potential NullPointerException
    • 544dbbf HHH-14770 Revert "HHH-14770 Optimise access to EntityPersister in Metamodel v...
    • fb0279e HHH-14625 Avoid performing a ServiceRegistryLookup in JtaTransactionCoordinat...
    • 135361a HHH-14776 Optimise Loader operations by using the Persister directly
    • edcce3e HHH-14776 Promote method instantiate(EntityPersister, Serializable) from Sess...
    • 9a335c1 HHH-14770 Optimise access to EntityPersister in Metamodel via Class type
    • 2390416 HHH-14773 JdbcCoordinatorImpl micro improvement: unguarded tracev parameters ...
    • Additional commits viewable in compare view

    Updates hibernate-c3p0 from 5.4.8.Final to 5.5.7.Final

    Changelog

    Sourced from hibernate-c3p0's changelog.

    Changes in 5.5.7.Final (August 25, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31970

    ** Bug * [HHH-14760] - Close resource - potential resource leak

    ** Improvement * [HHH-14777] - Support LockOptions.SKIP_LOCKED for MariaDB 10.6+ * [HHH-14625] - Avoid performing a ServiceRegistryLookup in JtaTransactionCoordinatorImpl constructor

    ** Task * [HHH-14788] - Upgrade to Byteman 4.0.16 * [HHH-14776] - Optimize Loader instantiate when EntityPersister is known * [HHH-14773] - JdbcCoordinatorImpl micro improvement: unguarded tracev parameters should be constant * [HHH-14771] - Upgrade to Byte Buddy 1.11.12

    Changes in 5.5.6.Final (August 04, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31968

    ** Bug * [HHH-14768] - hibernate-jpamodelgen fails to generate metamodel for recursive type variable definition

    Changes in 5.5.5.Final (July 29, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31963

    ** Bug * [HHH-14740] - HHH-14740 Still need the nullcheck removed in HHH-14727 * [HHH-14724] - Metamodel generates invalid model classes for converters and user types

    ** Improvement * [HHH-14755] - Allow to instantiate a DefaultIdentifierGeneratorFactory which does not bind to the BeanManager

    ** Task * [HHH-10661] - Method serialize() in StatefulPersistenceContext has duplicate code

    Changes in 5.5.4.Final (July 19, 2021)

    https://hibernate.atlassian.net/projects/HHH/versions/31959

    ** Bug

    ... (truncated)

    Commits
    • 180af74 5.5.7.Final
    • 6e6b6eb HHH-14788 Upgrade to Byteman 4.0.16
    • 1ba3595 HHH-14777 Enabled skip locked rendering for MariaDB 10.6+
    • 971d0f1 HHH-13848 - Fix for potential NullPointerException
    • 544dbbf HHH-14770 Revert "HHH-14770 Optimise access to EntityPersister in Metamodel v...
    • fb0279e HHH-14625 Avoid performing a ServiceRegistryLookup in JtaTransactionCoordinat...
    • 135361a HHH-14776 Optimise Loader operations by using the Persister directly
    • edcce3e HHH-14776 Promote method instantiate(EntityPersister, Serializable) from Sess...
    • 9a335c1 HHH-14770 Optimise access to EntityPersister in Metamodel via Class type
    • 2390416 HHH-14773 JdbcCoordinatorImpl micro improvement: unguarded tracev parameters ...
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Querydsl has Spring Roo maven links

    Querydsl has Spring Roo maven links

    The following spots have hard coded links for Roo dependencies:

    • https://github.com/querydsl/querydsl/blob/master/querydsl-apt/pom.xml#L262-L268
    • https://github.com/querydsl/querydsl/blob/master/pom.xml#L691

    This needs to be updated. Perhaps as optional dependencies?

    Related: https://github.com/spring-projects/spring-data-jpa/issues/2285

    bug good first issue 
    opened by gregturn 1
  • JSR310LocalDateType produces incorrect value for 2014-03-31

    JSR310LocalDateType produces incorrect value for 2014-03-31

    Observed vs. expected behavior

    When getting a LocalDate with a value of 2014-03-31, the value is incorrectly interpreted as 2014-03-30

    Steps to reproduce

    Create a JSR310LocalDateType Call getValue() with a ResultSet containing a Date value of 2014-03-31 Return value is incorrect

    Environment

    Querydsl version: 4.4.0 Querydsl module: querydsl-sql JDK: 1.8

    Bugfix

    I believe replacing the method contents with this should work as expected:

            Date date = rs.getDate(startIndex, utc());
            return (date != null) ? date.toLocalDate() : null;
    
    bug good first issue 
    opened by NathanJAdams 5
  • Bump maven-enforcer-plugin from 1.4.1 to 3.0.0

    Bump maven-enforcer-plugin from 1.4.1 to 3.0.0

    Bumps maven-enforcer-plugin from 1.4.1 to 3.0.0.

    Commits
    • b1b2282 [maven-release-plugin] prepare release enforcer-3.0.0
    • 70de3ad Lock maven-jxr-plugin
    • da3f888 Fix JavaDoc and lock sisu-maven-plugin
    • 014253f update CI url
    • 5409be8 [MENFORCER-211] wildcard ignore in requireReleaseDeps
    • 335f26e [MENFORCER-364] requireFilesExist rule should be case sensitive
    • faaf5c1 [MENFORCER-280] Enforcer dependency convergence stumbles on selenium-java
    • ab53fd9 [MENFORCER-357] RequirePluginVersions not recognizing versions-from-properties
    • 1b8ca8f [MENFORCER-388] Extends RequirePluginVersions with banMavenDefaults
    • ca73329 [MENFORCER-359] RequirePluginVersions fails when versions are inherited
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    good first issue dependencies 
    opened by dependabot[bot] 1
Releases(QUERYDSL_5_0_0)
  • QUERYDSL_5_0_0(Jul 22, 2021)

    This release of QueryDSL targets Java 8 minimally and comes with various improvements to make QueryDSL ready for the modern Java ecosystem. This version also removes joda-time:joda-time, com.google.guava:guava and com.google.code.findbugs:jsr305 as required runtime dependencies for using QueryDSL.

    QueryDSL 5.0 is the long awaited major release after the QueryDSL project was left mostly unmaintained for over two years. With this release the team worked hard on resolving the most pressing issues that have been requested repeatedly for a long time.

    A huge thanks goes out to all contributors that made this release possible in their free time:

    New features

    • #2672 - Various performance and code improvements possible by targeting Java 8 source level.
    • #2672 - Added Fetchable#stream() which returns a Stream<T>. Make sure that the returned stream is always closed to free up resources, for example using try-with-resources. It does not suffice to rely on a terminating operation on the stream for this (i.e. forEach, collect).
    • #2324 - Removal of Guava as dependency. Almost no required transitive dependencies to get started with QueryDSL. And no more conflicts with Guava versions required by your other tools or own application.
    • #2025 - joda-time:joda-time is no longer a required dependency for querydsl-sql. By default, the Java 8 date/time API is used for date/time operations. The joda-time:joda-time types will still be registered automatically if they are on the classpath.
    • #2215 - MongoDB 4 support through the Document API
    • #2697 - Allow com.querydsl.core.alias.Alias.* to be used on a JRE by relying on ECJ as compiler
    • #2479 - Swap out JSR305 for Jetbrains Annotations. Because the Jetbrains Annotations, contrary to the JSR305 annotations, use a Class retention level, Jetbrains Annotations does not have to be available at runtime and is not a transitive dependency.
    • #658 - Added JPAExpressions#treat which can be used to generate JPA 2.1 Treated path expressions.
    • #2666 - More descriptive error message when using unsupported query features in JPA.
    • #2106 - Support NullsLast ordering in querydsl-collections.
    • #2404 - Upgrade of JTS / Geolatte in querydsl-spatial
    • #2320 - Make Spatial support available to HibernateDomainExporter and JPADomainExporter.
    • #2612 - Support jakarta.* packages for new Jakarta EE releases (available through thejakarta classifiers for Maven)
    • #1376 - Return typed expression from nullif and coalesce methods.
    • #1828 - Kotlin Codegen support
    • #2798 - Java Record support

    Bugfixes

    • #2579 - Count query generation in JPASQLQuery
    • #2671 - Fixed a concurrency issue in Alias.*. Alias.* is now Thread safe.
    • #2053 - Work around issues with AbstractJPAQuery#fetchResults and AbstractJPAQuery#fetchCount in a query with a having clause by using an in-memory calculation.
    • #2504 - Work around issues with AbstractJPAQuery#fetchResults and AbstractJPAQuery#fetchCount in a query with multiple group by expressions by using an in-memory calculation.
    • #2663 - Fix issues with the JPA implementation of InsertClause.
    • #2706 - Fix a memory leak in TemplateFactory.
    • #2467 - Prevent ExtendedBeanSerializer from generating toString method twice
    • #2326 - Use JPA indexed parameters instead of HQL's legacy positional parameters
    • #2816 - Generated JPA query with incorrect argument binding indexes
    • #1413 - Incorrect parameter values with Hibernate custom types
    • #1429 - Reusing of constants in JPQL generation causes issues with hibernate query caching

    Breaking changes

    • Java 8 minimal requirement. If you still rely on Java <7, please use the latest 4.x.x version.
    • JavaSE6SQLExceptionWrapper and other parts regarding pre-Java 7 exception handling are removed.
    • Removed bridge method that were in place for backwards compatibility of legacy API's. This may lead to some breaking API changes.
    • Removed Guava as a dependency. If your application relies on Guava, make sure to add it as a direct dependency for your project and not rely on QueryDSL shipping it transitively.
    • In order for Guava to be removed Mysema Codegen had to be rereleased as QueryDSL Codegen Utils. Therefore, the classes in this module moved to a different package: com.mysema.codegen is now com.querydsl.codegen.utils. This for example affects com.mysema.codegen.model.SimpleType. Although many applications won't touch the codgen internal classes, custom APT extensions might be affected by this.
    • Due to the removal of Guava, any method that received an ImmutableList as parameter, now accepts any List instead. Normal code should handle this signature just fine. However, make sure to check any reflective uses of these parameters.
    • The querydsl.variableNameFunctionClass property for the DefaultConfiguration should now be provided as a java.util.function.Function instead of a com.google.common.base.Function.
    • CodeWriter#beginStaticMethod now takes a java.util.function.Function instead of a com.google.common.base.Function.
    • AbstractLuceneQuery now takes a java.util.function.Function instead of a com.google.common.base.Function.
    • AbstractMongodbQuery now takes a java.util.function.Function instead of a com.google.common.base.Function.
    • com.querydsl.codegen.NamingFunction, EvaluatorFunction, DefaultVariableFunction now extend java.util.function.Function instead of com.google.common.base.Function.
    • Any constructor that received a javax.inject.Provider, now takes a java.util.function.Supplier instead. In most cases you can replace the argument with provider::get.
    • This release targets Hibernate 5.2 in the Hibernate integration. If you need Hibernate 4 dialect specific workarounds, use the HQLTemplates instead of the Hibernate5Templates.
    • Removal of various deprecated methods.
    • joda-time:joda-time is now an optional dependency. If your application relies on joda-time:joda-time make sure to specify it as a direct dependency rather than relying on QueryDSL to include it transitively.
    • com.google.code.findbugs:jsr305 is no longer a dependency. If your application currently relies on QueryDSL shipping JSR305 transitively, you should add JSR305 as a direct dependency to your project.
    • MDC keys now use an underscore instead of a dot as separator: querydsl.query now is querydsl_query and querydsl.parameters is querydsl_parameters.
    • Removal of PolyHedralSurface in querydsl-spatial and querydsl-sql-spatial due to the upgrade of geolatte-geom.
    • com.querydsl.apt.Extension moved to com.querydsl.codegen and now resides in the querydsl-codegen module.
    • com.querydsl.apt.SpatialSupport moved to com.querydsl.spatial.apt.SpatialSupport and now resides in the querydsl-spatial module.
    • com.querydsl.sql.codegen.SpatialSupport moved to com.querydsl.sql.spatial.SpatialSupport and now resides in the querydsl-sql-spatial module.
    • SQLServerGeometryReader in querydsl-sql-spatial is removed in favour of org.geolatte.geom.codec.db.sqlserver.*.
    • PGgeometryConverter in querydsl-sql-spatial is removed in favour of org.geolatte.geom.codec.Wkt.
    • JGeometryConverter in querydsl-sql-spatial is removed in favour of org.geolatte.geom.codec.db.oracle.*.
    • Removal of HibernateDomainExporter in querysql-jpa-codegen. HibernateDomainExporter only supported Hibernate 4, which QueryDSL no longer actively supports. Instead, use the JPADomainExporter with Hibernate.
    • ComparableExpression#coalesce (and subtypes) no longer return a mutable Coalesce expression, but instead return a typed expression. If you need the Coalesce builder, use new Coalesce<T>().add(expression) instead.
    • getConstantToNamedLabel, getConstantToNumberedLabel and getConstantToAllLabels that were temporarily introduced to SerializerBase and JPQLSerializer in QueryDSL 4.3.0 to eventually replace getConstantToLabel are now removed in favor of getConstants.
    • OSGi data is not included in the manifest anymore

    Deprecations

    • AbstractJPAQuery#fetchResults and AbstractJPAQuery#fetchCount are now deprecated for queries that have multiple group by expressions or a having clause, because these scenarios cannot be supported by pure JPA and are instead computed in-memory. If the total count of results is not necessary, we recommend to always use AbstractJPAQuery#fetch instead. If you want a reliable way of computing the result count for a paginated result for even the most complicated queries, we recommend using the Blaze-Persistence QueryDSL integration. BlazeJPAQuery properly implements both fetchResults and fetchCount and even comes with a page method.
    • getConstantToLabel which was deprecated in QueryDSL 4.3.0 is no longer deprecated.

    Dependency updates

    • cglib:cglib to 3.3.0 for Java 8+ support
    • org.eclipse.jdt.core.compiler:ecj to 4.6.1 for Java 8+ support
    • joda-time:joda-time to 2.10.10 for better interoperability with other frameworks that use more recent versions than QueryDSL. joda-time:joda-time is also no longer a required dependency and as such is no longer provided transitively to your application. If your application relies on joda-time:joda-time being available, make sure to add the dependency to your project.
    • org.geolatte:geolatte-geom to 1.8.1 for better interopability with Hibernate Spatial. querydsl-spatial is still backwards compatible with older versions of Geolatte, however, querydsl-sql-spatial is not and requires 1.4.0 or newer.
    • com.vividsolutions:jts to org.locationtech:jts for better interopability with Hibernate Spatial. com.vividsolutions:jts is still supported for querydsl-spatial if an older version of org.geolatte:geolatte-geom is provided.
    • DataNucleus 5.2.x for Java 8+ support
      • JDO now uses org.datanucleus:javax.jdo instead of javax.jdo:jdo-api
    • com.google.guava:guava is no longer a dependency of QueryDSL and as such is no longer provided transitively to your application. If your application relies on com.google.guava:guava being available, make sure to add the dependency to your project.
    • com.google.code.findbugs:jsr305 is no longer a dependency of QueryDSL and as such is no longer provided transitively to your application. If your application relies on com.google.code.findbugs:jsr305 being available, make sure to add the dependency to your project.
    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_5_0_0_M1(Jun 16, 2021)

    This release of QueryDSL targets Java 8 minimally and comes with various improvements to make QueryDSL ready for the modern Java ecosystem. This version also removes joda-time:joda-time, com.google.guava:guava and com.google.code.findbugs:jsr305 as required runtime dependencies for using QueryDSL.

    QueryDSL 5.0 is the long awaited major release after the QueryDSL project was left mostly unmaintained for over two years. With this release the team worked hard on resolving the most pressing issues that have been requested repeatedly for a long time.

    A huge thanks goes out to all contributors that made this release possible in their free time:

    New features

    • #2672 - Various performance and code improvements possible by targeting Java 8 source level.
    • #2672 - Added Fetchable#stream() which returns a Stream<T>. Make sure that the returned stream is always closed to free up resources, for example using try-with-resources. It does not suffice to rely on a terminating operation on the stream for this (i.e. forEach, collect).
    • #2324 - Removal of Guava as dependency. Almost no required transitive dependencies to get started with QueryDSL. And no more conflicts with Guava versions required by your other tools or own application.
    • #2025 - joda-time:joda-time is no longer a required dependency for querydsl-sql. By default, the Java 8 date/time API is used for date/time operations. The joda-time:joda-time types will still be registered automatically if they are on the classpath.
    • #2215 - MongoDB 4 support through the Document API
    • #2697 - Allow com.querydsl.core.alias.Alias.* to be used on a JRE by relying on ECJ as compiler
    • #2479 - Swap out JSR305 for Jetbrains Annotations. Because the Jetbrains Annotations, contrary to the JSR305 annotations, use a Class retention level, Jetbrains Annotations does not have to be available at runtime and is not a transitive dependency.
    • #658 - Added JPAExpressions#treat which can be used to generate JPA 2.1 Treated path expressions.
    • #2666 - More descriptive error message when using unsupported query features in JPA.
    • #2106 - Support NullsLast ordering in querydsl-collections.
    • #2404 - Upgrade of JTS / Geolatte in querydsl-spatial
    • #2320 - Make Spatial support available to HibernateDomainExporter and JPADomainExporter.
    • #2612 - Support jakarta.* packages for new Jakarta EE releases (available through thejakarta classifiers for Maven)
    • #1376 - Return typed expression from nullif and coalesce methods.
    • #1828 - Kotlin Codegen support
    • #2798 - Java Record support

    Bugfixes

    • #2579 - Count query generation in JPASQLQuery
    • #2671 - Fixed a concurrency issue in Alias.*. Alias.* is now Thread safe.
    • #2053 - Work around issues with AbstractJPAQuery#fetchResults and AbstractJPAQuery#fetchCount in a query with a having clause by using an in-memory calculation.
    • #2504 - Work around issues with AbstractJPAQuery#fetchResults and AbstractJPAQuery#fetchCount in a query with multiple group by expressions by using an in-memory calculation.
    • #2663 - Fix issues with the JPA implementation of InsertClause.
    • #2706 - Fix a memory leak in TemplateFactory.
    • #2467 - Prevent ExtendedBeanSerializer from generating toString method twice
    • #2326 - Use JPA indexed parameters instead of HQL's legacy positional parameters
    • #2816 - Generated JPA query with incorrect argument binding indexes
    • #1413 - Incorrect parameter values with Hibernate custom types
    • #1429 - Reusing of constants in JPQL generation causes issues with hibernate query caching

    Breaking changes

    • Java 8 minimal requirement. If you still rely on Java <7, please use the latest 4.x.x version.
    • JavaSE6SQLExceptionWrapper and other parts regarding pre-Java 7 exception handling are removed.
    • Removed bridge method that were in place for backwards compatibility of legacy API's. This may lead to some breaking API changes.
    • Removed Guava as a dependency. If your application relies on Guava, make sure to add it as a direct dependency for your project and not rely on QueryDSL shipping it transitively.
    • In order for Guava to be removed Mysema Codegen had to be rereleased as QueryDSL Codegen Utils. Therefore, the classes in this module moved to a different package: com.mysema.codegen is now com.querydsl.codegen.utils. This for example affects com.mysema.codegen.model.SimpleType. Although many applications won't touch the codgen internal classes, custom APT extensions might be affected by this.
    • Due to the removal of Guava, any method that received an ImmutableList as parameter, now accepts any List instead. Normal code should handle this signature just fine. However, make sure to check any reflective uses of these parameters.
    • The querydsl.variableNameFunctionClass property for the DefaultConfiguration should now be provided as a java.util.function.Function instead of a com.google.common.base.Function.
    • CodeWriter#beginStaticMethod now takes a java.util.function.Function instead of a com.google.common.base.Function.
    • AbstractLuceneQuery now takes a java.util.function.Function instead of a com.google.common.base.Function.
    • AbstractMongodbQuery now takes a java.util.function.Function instead of a com.google.common.base.Function.
    • com.querydsl.codegen.NamingFunction, EvaluatorFunction, DefaultVariableFunction now extend java.util.function.Function instead of com.google.common.base.Function.
    • Any constructor that received a javax.inject.Provider, now takes a java.util.function.Supplier instead. In most cases you can replace the argument with provider::get.
    • This release targets Hibernate 5.2 in the Hibernate integration. If you need Hibernate 4 dialect specific workarounds, use the HQLTemplates instead of the Hibernate5Templates.
    • Removal of various deprecated methods.
    • joda-time:joda-time is now an optional dependency. If your application relies on joda-time:joda-time make sure to specify it as a direct dependency rather than relying on QueryDSL to include it transitively.
    • com.google.code.findbugs:jsr305 is no longer a dependency. If your application currently relies on QueryDSL shipping JSR305 transitively, you should add JSR305 as a direct dependency to your project.
    • MDC keys now use an underscore instead of a dot as separator: querydsl.query now is querydsl_query and querydsl.parameters is querydsl_parameters.
    • Removal of PolyHedralSurface in querydsl-spatial and querydsl-sql-spatial due to the upgrade of geolatte-geom.
    • com.querydsl.apt.Extension moved to com.querydsl.codegen and now resides in the querydsl-codegen module.
    • com.querydsl.apt.SpatialSupport moved to com.querydsl.spatial.apt.SpatialSupport and now resides in the querydsl-spatial module.
    • com.querydsl.sql.codegen.SpatialSupport moved to com.querydsl.sql.spatial.SpatialSupport and now resides in the querydsl-sql-spatial module.
    • SQLServerGeometryReader in querydsl-sql-spatial is removed in favour of org.geolatte.geom.codec.db.sqlserver.*.
    • PGgeometryConverter in querydsl-sql-spatial is removed in favour of org.geolatte.geom.codec.Wkt.
    • JGeometryConverter in querydsl-sql-spatial is removed in favour of org.geolatte.geom.codec.db.oracle.*.
    • Removal of HibernateDomainExporter in querysql-jpa-codegen. HibernateDomainExporter only supported Hibernate 4, which QueryDSL no longer actively supports. Instead, use the JPADomainExporter with Hibernate.
    • ComparableExpression#coalesce (and subtypes) no longer return a mutable Coalesce expression, but instead return a typed expression. If you need the Coalesce builder, use new Coalesce<T>().add(expression) instead.
    • getConstantToNamedLabel, getConstantToNumberedLabel and getConstantToAllLabels that were temporarily introduced to SerializerBase and JPQLSerializer in QueryDSL 4.3.0 to eventually replace getConstantToLabel are now removed in favor of getConstants.

    Deprecations

    • AbstractJPAQuery#fetchResults and AbstractJPAQuery#fetchCount are now deprecated for queries that have multiple group by expressions or a having clause, because these scenarios cannot be supported by pure JPA and are instead computed in-memory. If the total count of results is not necessary, we recommend to always use AbstractJPAQuery#fetch instead. If you want a reliable way of computing the result count for a paginated result for even the most complicated queries, we recommend using the Blaze-Persistence QueryDSL integration. BlazeJPAQuery properly implements both fetchResults and fetchCount and even comes with a page method.
    • getConstantToLabel which was deprecated in QueryDSL 4.3.0 is no longer deprecated.

    Dependency updates

    • cglib:cglib to 3.3.0 for Java 8+ support
    • org.eclipse.jdt.core.compiler:ecj to 4.6.1 for Java 8+ support
    • joda-time:joda-time to 2.10.10 for better interoperability with other frameworks that use more recent versions than QueryDSL. joda-time:joda-time is also no longer a required dependency and as such is no longer provided transitively to your application. If your application relies on joda-time:joda-time being available, make sure to add the dependency to your project.
    • org.geolatte:geolatte-geom to 1.8.1 for better interopability with Hibernate Spatial. querydsl-spatial is still backwards compatible with older versions of Geolatte, however, querydsl-sql-spatial is not and requires 1.4.0 or newer.
    • com.vividsolutions:jts to org.locationtech:jts for better interopability with Hibernate Spatial. com.vividsolutions:jts is still supported for querydsl-spatial if an older version of org.geolatte:geolatte-geom is provided.
    • DataNucleus 5.2.x for Java 8+ support
      • JDO now uses org.datanucleus:javax.jdo instead of javax.jdo:jdo-api
    • com.google.guava:guava is no longer a dependency of QueryDSL and as such is no longer provided transitively to your application. If your application relies on com.google.guava:guava being available, make sure to add the dependency to your project.
    • com.google.code.findbugs:jsr305 is no longer a dependency of QueryDSL and as such is no longer provided transitively to your application. If your application relies on com.google.code.findbugs:jsr305 being available, make sure to add the dependency to your project.
    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_4_0(Sep 19, 2020)

  • QUERYDSL_4_3_1(Jul 15, 2020)

  • QUERYDSL_4_2_2(Nov 22, 2019)

  • QUERYDSL_4_2_1(Mar 22, 2018)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A4.2.1

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.2.1 Reference docs : http://www.querydsl.com/static/querydsl/4.2.1/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.2.1/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_2_0(Mar 22, 2018)

  • QUERYDSL_4_1_4(Sep 5, 2016)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A4.1.4

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.1.4 Reference docs : http://www.querydsl.com/static/querydsl/4.1.4/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.1.4/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_1_3(Jul 1, 2016)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A4.1.3

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.1.3 Reference docs : http://www.querydsl.com/static/querydsl/4.1.3/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.1.3/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_3_7_4(Jul 1, 2016)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A3.7.4

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/3.7.4 Reference docs : http://www.querydsl.com/static/querydsl/3.7.4/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/3.7.4/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_1_2(May 31, 2016)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A4.1.2

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.1.2 Reference docs : http://www.querydsl.com/static/querydsl/4.1.2/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.1.2/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_3_7_3(May 16, 2016)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A3.7.3

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/3.7.3 Reference docs : http://www.querydsl.com/static/querydsl/3.7.3/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/3.7.3/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_1_1(May 16, 2016)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A4.1.1

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.1.1 Reference docs : http://www.querydsl.com/static/querydsl/4.1.1/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.1.1/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_1_0(Apr 1, 2016)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A4.1.0

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.1.0 Reference docs : http://www.querydsl.com/static/querydsl/4.1.0/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.1.0/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_0_9(Feb 29, 2016)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A4.0.9

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.0.9 Reference docs : http://www.querydsl.com/static/querydsl/4.0.9/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.0.9/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_3_7_2(Feb 29, 2016)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A3.7.2

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/3.7.2 Reference docs : http://www.querydsl.com/static/querydsl/3.7.2/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/3.7.2/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_0_8(Jan 31, 2016)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A4.0.8

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.0.8 Reference docs : http://www.querydsl.com/static/querydsl/4.0.8/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.0.8/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_3_7_1(Jan 31, 2016)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A3.7.1

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/3.7.1 Reference docs : http://www.querydsl.com/static/querydsl/3.7.1/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/3.7.1/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_0_7(Dec 1, 2015)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A4.0.7

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.0.7 Reference docs : http://www.querydsl.com/static/querydsl/4.0.7/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.0.7/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_3_7_0(Dec 1, 2015)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A3.7.0

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/3.7.0 Reference docs : http://www.querydsl.com/static/querydsl/3.7.0/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/3.7.0/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_3_6_9(Oct 31, 2015)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A3.6.9

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/3.6.9 Reference docs : http://www.querydsl.com/static/querydsl/3.6.9/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/3.6.9/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_0_6(Oct 31, 2015)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A4.0.6

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.0.6 Reference docs : http://www.querydsl.com/static/querydsl/4.0.6/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.0.6/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_3_6_8(Oct 1, 2015)

    Fixed issues https://github.com/querydsl/querydsl/issues?q=milestone%3A3.6.8

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/3.6.8 Reference docs : http://www.querydsl.com/static/querydsl/3.6.8/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/3.6.8/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_0_5(Oct 1, 2015)

    Fixes issues https://github.com/querydsl/querydsl/issues?q=milestone%3A4.0.5

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.0.5 Reference docs : http://www.querydsl.com/static/querydsl/4.0.5/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.0.5/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_0_4(Sep 1, 2015)

    JPA

    • JPQLQuery loses nulls last/first for nested properties https://github.com/querydsl/querydsl/issues/1503
    • ArrayIndexOutOfBoundsException when using FactoryExpressionBase.skipNulls() https://github.com/querydsl/querydsl/issues/1496
    • JPAQueryFactory methods with varargs EntityPath https://github.com/querydsl/querydsl/issues/1474
    • fetchResults() generating wrong count query https://github.com/querydsl/querydsl/issues/1472
    • HibernateDomainExporter and inheritance with composite-id https://github.com/querydsl/querydsl/issues/1459
    • CaseForEqBuilder generates SimpleOperation instead of concrete type https://github.com/querydsl/querydsl/issues/1253

    SQL

    • QueryDSL-SQL Generates Bad Query With Oracle, CTE's and limit() https://github.com/querydsl/querydsl/issues/1487
    • AntMetaDataExporter Defaults Incorrect https://github.com/querydsl/querydsl/issues/1483
    • Insert operation doesn't fire listener executed() for non-batch operations https://github.com/querydsl/querydsl/issues/1479
    • SQLQueryFactory doesn't release connection / leak https://github.com/querydsl/querydsl/issues/1476
    • MetadataExporter should provide option to override output schema

    JDO

    • Wrong query is generated for concat statement https://github.com/querydsl/querydsl/issues/1482

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.0.4 Reference docs : http://www.querydsl.com/static/querydsl/4.0.4/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.0.4/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_3_6_7(Sep 1, 2015)

    JPA

    • Fix FactoryExpressionTransformer https://github.com/querydsl/querydsl/issues/1496
    • Fix NullHandling treatment https://github.com/querydsl/querydsl/issues/1503

    SQL

    • Improve CTE serialization https://github.com/querydsl/querydsl/issues/1487
    • Add support for PostgreSQL specific DISTINCT ON https://github.com/querydsl/querydsl/pull/1489

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/3.6.7 Reference docs : http://www.querydsl.com/static/querydsl/3.6.7/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/3.6.7/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_0_3(Aug 1, 2015)

    SQL

    • Add StatementOptions https://github.com/querydsl/querydsl/issues/1419
    • sqlQuery.forUpdate() does not work on SQLServer https://github.com/querydsl/querydsl/issues/1446
    • SQLQueryFactory .list() with offset and limit causes SQLSyntaxErrorException in Oracle11g https://github.com/querydsl/querydsl/issues/1445

    JPA

    • Weird Behavior for byte[] array in Hibernate Objects https://github.com/querydsl/querydsl/issues/1431

    Mongodb

    • Fix alias serialization for MongoDB https://github.com/querydsl/querydsl/issues/1427
    • Add support for $nearSphere https://github.com/querydsl/querydsl/issues/1438

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.0.3 Reference docs : http://www.querydsl.com/static/querydsl/4.0.3/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.0.3/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_3_6_6(Aug 1, 2015)

    SQL

    • Add StatementOptions https://github.com/querydsl/querydsl/issues/1419

    Mongodb

    • Fix alias serialization for MongoDB https://github.com/querydsl/querydsl/issues/1427
    • Add support for $nearSphere https://github.com/querydsl/querydsl/issues/1438

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/3.6.6 Reference docs : http://www.querydsl.com/static/querydsl/3.6.6/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/3.6.6/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_4_0_2(Jun 30, 2015)

    General

    • BeanPath.casts should be made safe for concurrent usage https://github.com/querydsl/querydsl/issues/1403

    SQL

    • Rename Union.list() to fetch https://github.com/querydsl/querydsl/issues/1414
    • Connection pooling does not appear to be correctly supported https://github.com/querydsl/querydsl/issues/1254

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/4.0.2 Reference docs : http://www.querydsl.com/static/querydsl/4.0.2/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/4.0.2/apidocs/

    Source code(tar.gz)
    Source code(zip)
  • QUERYDSL_3_6_5(Jun 30, 2015)

    General

    • BeanPath.casts should be made safe for concurrent usage #1403
    • 3.6.4 silently requires new Hibernate version https://github.com/querydsl/querydsl/issues/1406

    Download for non-Maven users : http://www.querydsl.com/static/querydsl/3.6.5 Reference docs : http://www.querydsl.com/static/querydsl/3.6.5/reference/html/ Javadoc API : http://www.querydsl.com/static/querydsl/3.6.5/apidocs/

    Source code(tar.gz)
    Source code(zip)
SQL made uagliò.

GomorraSQL is an easy and straightforward interpreted SQL dialect that allows you to write simpler and more understandable queries in Neapolitan Langu

Donato Rimenti 844 Sep 14, 2021
Apache Druid: a high performance real-time analytics database.

Website | Documentation | Developer Mailing List | User Mailing List | Slack | Twitter | Download Apache Druid Druid is a high performance real-time a

The Apache Software Foundation 11.1k Sep 15, 2021
光 HikariCP・A solid, high-performance, JDBC connection pool at last.

HikariCP It's Faster.Hi·ka·ri [hi·ka·'lē] (Origin: Japanese): light; ray. Fast, simple, reliable. HikariCP is a "zero-overhead" production ready JDBC

Brett Wooldridge 15.7k Sep 14, 2021
Unified Queries for Java

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

Querydsl 3.5k Sep 16, 2021
blockchain database, cata metadata query

Drill Storage Plugin for IPFS 中文 Contents Introduction Compile Install Configuration Run Introduction Minerva is a storage plugin of Drill that connec

null 95 Aug 29, 2021
Apache Hive

Apache Hive (TM) The Apache Hive (TM) data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storag

The Apache Software Foundation 3.9k Sep 20, 2021
The official home of the Presto distributed SQL query engine for big data

Presto Presto is a distributed SQL query engine for big data. See the User Manual for deployment instructions and end user documentation. Requirements

Presto 12.4k Sep 15, 2021
Repositório com todo conteúdo do Orange Talents Turma #5

Orange-Talents Repositório com todo conteúdo do Orange Talents Turma #5 Quantidade de passos: 109 Quantidade de passos concluídos: 16 Quantidade de pa

Lucas Rodrigues 4 Jul 29, 2021
Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)

Trino is a fast distributed SQL query engine for big data analytics. See the User Manual for deployment instructions and end user documentation. Devel

Trino 4.1k Sep 16, 2021
Vibur DBCP - concurrent and dynamic JDBC connection pool

Vibur DBCP is concurrent, fast, and fully-featured JDBC connection pool, which provides advanced performance monitoring capabilities, including slow S

Vibur 89 Jun 13, 2021
Replicate your Key Value Store across your network, with consistency, persistance and performance.

Chronicle Map Version Overview Chronicle Map is a super-fast, in-memory, non-blocking, key-value store, designed for low-latency, and/or multi-process

Chronicle Software : Open Source 2.2k Sep 10, 2021
Speedment is a Stream ORM Java Toolkit and Runtime

Java Stream ORM Speedment is an open source Java Stream ORM toolkit and runtime. The toolkit analyzes the metadata of an existing SQL database and aut

Speedment 1.9k Sep 13, 2021
The public release repository for SUSTech SQL (CS307) course project 2.

CS307 Spring 2021 Database Project 2 1. Source code Download link: For java: https://github.com/NewbieOrange/SUSTech-SQL-Project2-Public For python: h

null 15 Jun 19, 2021
Transactional schema-less embedded database used by JetBrains YouTrack and JetBrains Hub.

JetBrains Xodus is a transactional schema-less embedded database that is written in Java and Kotlin. It was initially developed for JetBrains YouTrack

JetBrains 920 Sep 11, 2021
Transactional schema-less embedded database used by JetBrains YouTrack and JetBrains Hub.

JetBrains Xodus is a transactional schema-less embedded database that is written in Java and Kotlin. It was initially developed for JetBrains YouTrack

JetBrains 858 Mar 12, 2021
jdbi is designed to provide convenient tabular data access in Java; including templated SQL, parameterized and strongly typed queries, and Streams integration

The Jdbi library provides convenient, idiomatic access to relational databases in Java. Jdbi is built on top of JDBC. If your database has a JDBC driv

null 1.6k Sep 19, 2021
Apache Calcite

Apache Calcite Apache Calcite is a dynamic data management framework. It contains many of the pieces that comprise a typical database management syste

The Apache Software Foundation 2.6k Sep 7, 2021
Minhas implementações dos desafios de código da Digital Innovation One

dio-java Aqui se encontram minhas implementações dos desafios de código da Digital Innovation One. Sinta-se a vontade para contribuir, crie uma issue

Bruno Tardin 50 Sep 9, 2021