querydsl/querydsl-collections
Ruben Dijkstra 7a05abd619 Merge pull request #1176 from querydsl/i1067
Combine QueryMixin.convert and normalize
2015-02-12 21:17:09 +01:00
..
doc updated querydsl collecitons 2009-03-19 14:02:37 +00:00
src Merge pull request #1176 from querydsl/i1067 2015-02-12 21:17:09 +01:00
pom.xml Change groupId from com.mysema.querydsl to com.querydsl 2015-01-20 23:01:02 +02:00
README.md Move packages from com.mysema.query to com.querydsl 2015-01-20 23:56:59 +02:00

Querydsl Collections

The Collections module provides integration with Java Collections and Beans.

Maven integration

Add the following dependencies to your Maven project :

<dependency>
  <groupId>com.querydsl</groupId>
  <artifactId>querydsl-apt</artifactId>
  <version>${querydsl.version}</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>com.querydsl</groupId>
  <artifactId>querydsl-collections</artifactId>
  <version>${querydsl.version}</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.6.1</version>
</dependency>   

If you are not using JPA or JDO you can generate Querydsl query types for your domain types by annotating them with the com.querydsl.core.annotations.QueryEntity annotation and adding the following plugin configuration into your Maven configuration (pom.xml) :

<project>
  <build>
    <plugins>
      ...
      <plugin>
        <groupId>com.mysema.maven</groupId>
        <artifactId>apt-maven-plugin</artifactId>
        <version>1.1.3</version>
        <executions>
          <execution>
            <goals>
              <goal>process</goal>
            </goals>
            <configuration>
              <outputDirectory>target/generated-sources/java</outputDirectory>
              <processor>com.querydsl.apt.QuerydslAnnotationProcessor</processor>
            </configuration>
          </execution>
        </executions>
      </plugin>
      ...
    </plugins>
  </build>
</project>

Querying

Querying with Querydsl Collections is as simple as this :

import static com.querydsl.collections.CollQueryFactory.*;

QCat cat = new QCat("cat");
for (String name : from(cat,cats)
  .where(cat.kittens.size().gt(0))
  .list(cat.name)){
    System.out.println(name);
}

For more information on the Querydsl Collections module visit the reference documentation http://www.querydsl.com/static/querydsl/latest/reference/html/ch02s08.html