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
Querydsl uses Cloudbees for Jenkins based CI
As well as Travis CI for pull request validation