Subclasses of `AbstractQuery` may override `createQuery()`, but not `createQuery(QueryModifiers, boolean)`. This leads to issues when subclasses want to adjust the rendering method. While overriding `createQuery` covers most use cases, some specific methods use `createQuery(QueryModifiers, boolean)` instead. As a result, one has to override `fetchCount`, `fetchResults`, `getResultList` , `fetchOne` and `getSingleResult` as well. As a proof of concept, see how I've extended `AbstractQuery` for it to execute queries on top of [Blaze-Persistence](https://github.com/Blazebit/blaze-persistence) Criteria Builder API in: https://github.com/jwgmeligmeyling/blaze-persistence-querydsl |
||
|---|---|---|
| deploy/.m2 | ||
| devops | ||
| querydsl-ant-test | ||
| querydsl-apt | ||
| querydsl-codegen | ||
| querydsl-collections | ||
| querydsl-core | ||
| querydsl-docs | ||
| querydsl-examples | ||
| querydsl-hibernate-search | ||
| querydsl-jdo | ||
| querydsl-jpa | ||
| querydsl-jpa-codegen | ||
| querydsl-lucene3 | ||
| querydsl-lucene4 | ||
| querydsl-lucene5 | ||
| querydsl-maven-plugin | ||
| querydsl-mongodb | ||
| querydsl-scala | ||
| querydsl-spatial | ||
| querydsl-sql | ||
| querydsl-sql-codegen | ||
| querydsl-sql-spatial | ||
| querydsl-sql-spring | ||
| src/main | ||
| travis | ||
| .gitattributes | ||
| .gitignore | ||
| .travis.yml | ||
| dist.sh | ||
| LICENSE.txt | ||
| pom.xml | ||
| README.md | ||
| release.sh | ||
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.
Getting started
Use these tutorials to get started
- Querying JPA
- Querying SQL
- Querying Mongodb
- Querying Lucene
- Querying Collections
- Querydsl Spatial
- Querying JDO
Examples
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.
Continuous integration
As well as Travis CI for pull request validation