mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-13 21:01:01 +08:00
Merge pull request #999 from querydsl/doc_hints
Aid end users more in the context of the code snippets
This commit is contained in:
commit
c39375ee86
@ -27,23 +27,33 @@ The Collections module provides integration with Java Collections and Beans.
|
||||
|
||||
If you are not using JPA or JDO you can generate Querydsl query types for your domain types by annotating them with the com.mysema.query.annotations.QueryEntity annotation and adding the following plugin configuration into your Maven configuration (pom.xml) :
|
||||
|
||||
<plugin>
|
||||
<groupId>com.mysema.maven</groupId>
|
||||
<artifactId>apt-maven-plugin</artifactId>
|
||||
<version>1.0.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>process</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>target/generated-sources/java</outputDirectory>
|
||||
<processor>com.mysema.query.apt.QuerydslAnnotationProcessor</processor>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
```XML
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.maven</groupId>
|
||||
<artifactId>apt-maven-plugin</artifactId>
|
||||
<version>1.0.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>process</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>target/generated-sources/java</outputDirectory>
|
||||
<processor>com.mysema.query.apt.QuerydslAnnotationProcessor</processor>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
```
|
||||
|
||||
**Querying**
|
||||
|
||||
Querying with Querydsl Collections is as simple as this :
|
||||
|
||||
@ -521,26 +521,34 @@ exporter.export(DomainClass.class.getPackage());
|
||||
|
||||
<para>Here is an example for JPA annotated classes</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>process-classes</phase>
|
||||
<goals>
|
||||
<goal>jpa-export</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<targetFolder>target/generated-sources/java</targetFolder>
|
||||
<packages>
|
||||
<package>com.example.domain</package>
|
||||
</packages>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>process-classes</phase>
|
||||
<goals>
|
||||
<goal>jpa-export</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<targetFolder>target/generated-sources/java</targetFolder>
|
||||
<packages>
|
||||
<package>com.example.domain</package>
|
||||
</packages>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
<para>This will export the JPA annotated classes of the <code>com.example.domain</code> package and
|
||||
@ -623,38 +631,46 @@ exporter.export(DomainClass.class.getPackage());
|
||||
configuration
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-scala</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
<version>${scala.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>jpa-export</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<targetFolder>target/generated-sources/scala</targetFolder>
|
||||
<scala>true</scala>
|
||||
<packages>
|
||||
<package>com.example.domain</package>
|
||||
</packages>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-scala</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
<version>${scala.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>jpa-export</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<targetFolder>target/generated-sources/scala</targetFolder>
|
||||
<scala>true</scala>
|
||||
<packages>
|
||||
<package>com.example.domain</package>
|
||||
</packages>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
</sect3>
|
||||
|
||||
@ -429,31 +429,39 @@ WHERE this.weeklyhours >
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.mycompany.mydomain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.mycompany.mydomain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
<para>When the query types have successfully been generated into the location of your
|
||||
|
||||
@ -611,31 +611,39 @@ List results = jpaQuery.getResultList();
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.mycompany.mydomain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.mycompany.mydomain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
<para>When the query types have successfully been generated into the location of your
|
||||
|
||||
@ -209,39 +209,47 @@ Employee.select({ e => e.firstName }, { e => e.lastName })
|
||||
querydsl-maven-plugin. Here is an example configuration
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<configuration>
|
||||
<jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:mysql://localhost:3306/test</jdbcUrl>
|
||||
<jdbcUser>matko</jdbcUser>
|
||||
<jdbcPassword>matko</jdbcPassword>
|
||||
<packageName>com.example.schema</packageName>
|
||||
<targetFolder>${project.basedir}/src/main/scala</targetFolder>
|
||||
<exportBeans>true</exportBeans>
|
||||
<createScalaSources>true</createScalaSources>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>5.1.16</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-scala</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
<version>${scala.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<configuration>
|
||||
<jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:mysql://localhost:3306/test</jdbcUrl>
|
||||
<jdbcUser>matko</jdbcUser>
|
||||
<jdbcPassword>matko</jdbcPassword>
|
||||
<packageName>com.example.schema</packageName>
|
||||
<targetFolder>${project.basedir}/src/main/scala</targetFolder>
|
||||
<exportBeans>true</exportBeans>
|
||||
<createScalaSources>true</createScalaSources>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>5.1.16</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-scala</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
<version>${scala.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
<para>The maven goal to execute is querydsl:export.</para>
|
||||
|
||||
@ -56,17 +56,25 @@
|
||||
<para>The code generation for Querydsl SQL can be set to detect the usage of spatial types in
|
||||
database schemas and use geolatte types in these case via the spatial property:</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
...
|
||||
<configuration>
|
||||
...
|
||||
<spatial>true</spatial>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
...
|
||||
<configuration>
|
||||
...
|
||||
<spatial>true</spatial>
|
||||
</configuration>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
</sect2>
|
||||
|
||||
@ -47,32 +47,40 @@
|
||||
<para>This functionality should be primarily used via the Maven plugin. Here is an example:
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.myproject.domain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.myproject.domain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
<para>
|
||||
|
||||
@ -507,26 +507,34 @@ exporter.export(DomainClass.class.getPackage());
|
||||
|
||||
<para>다음은 JPA 어노테이션이 적용된 클래스를 위한 예다.</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>process-classes</phase>
|
||||
<goals>
|
||||
<goal>jpa-export</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<targetFolder>target/generated-sources/java</targetFolder>
|
||||
<packages>
|
||||
<package>com.example.domain</package>
|
||||
</packages>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>process-classes</phase>
|
||||
<goals>
|
||||
<goal>jpa-export</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<targetFolder>target/generated-sources/java</targetFolder>
|
||||
<packages>
|
||||
<package>com.example.domain</package>
|
||||
</packages>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
<para>
|
||||
@ -608,38 +616,46 @@ exporter.export(DomainClass.class.getPackage());
|
||||
<para>Scala 출력을 원하면, 다음 설정을 사용하자.
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-scala</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
<version>${scala.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>jpa-export</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<targetFolder>target/generated-sources/scala</targetFolder>
|
||||
<scala>true</scala>
|
||||
<packages>
|
||||
<package>com.example.domain</package>
|
||||
</packages>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-scala</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
<version>${scala.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>jpa-export</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<targetFolder>target/generated-sources/scala</targetFolder>
|
||||
<scala>true</scala>
|
||||
<packages>
|
||||
<package>com.example.domain</package>
|
||||
</packages>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
</sect3>
|
||||
|
||||
@ -411,31 +411,39 @@ WHERE this.weeklyhours >
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.mycompany.mydomain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.mycompany.mydomain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
<para>지정한 위치에 쿼리 타입을 성공적으로 생성했다면, 쿼리에서 그 타입을 사용할 수 있다.
|
||||
|
||||
@ -583,31 +583,39 @@ List results = jpaQuery.getResultList();
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.mycompany.mydomain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.mycompany.mydomain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
<para>지정한 위치에 쿼리 타입을 성공적으로 생성했다면, 쿼리에서 그 타입을 사용할 수 있다.
|
||||
|
||||
@ -200,39 +200,47 @@ Employee.select({ e => e.firstName }, { e => e.lastName })
|
||||
다음은 설정 예다.
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<configuration>
|
||||
<jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:mysql://localhost:3306/test</jdbcUrl>
|
||||
<jdbcUser>matko</jdbcUser>
|
||||
<jdbcPassword>matko</jdbcPassword>
|
||||
<packageName>com.example.schema</packageName>
|
||||
<targetFolder>${project.basedir}/src/main/scala</targetFolder>
|
||||
<exportBeans>true</exportBeans>
|
||||
<createScalaSources>true</createScalaSources>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>5.1.16</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-scala</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
<version>${scala.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<configuration>
|
||||
<jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:mysql://localhost:3306/test</jdbcUrl>
|
||||
<jdbcUser>matko</jdbcUser>
|
||||
<jdbcPassword>matko</jdbcPassword>
|
||||
<packageName>com.example.schema</packageName>
|
||||
<targetFolder>${project.basedir}/src/main/scala</targetFolder>
|
||||
<exportBeans>true</exportBeans>
|
||||
<createScalaSources>true</createScalaSources>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>5.1.16</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-scala</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
<version>${scala.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
<para>querydsl:export 메이븐 골을 실행한다.</para>
|
||||
|
||||
@ -44,32 +44,40 @@
|
||||
|
||||
<para>코드 생성은 주로 메이븐 플러그인을 통해서 수행한다. 다음은 설정 예다.</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.myproject.domain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.myproject.domain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
]]></programlisting>
|
||||
|
||||
<para>
|
||||
|
||||
@ -27,22 +27,32 @@ The JDO module provides integration with the JDO API.
|
||||
|
||||
And now, configure the Maven APT plugin which generates the query types used by Querydsl :
|
||||
|
||||
<plugin>
|
||||
<groupId>com.mysema.maven</groupId>
|
||||
<artifactId>apt-maven-plugin</artifactId>
|
||||
<version>1.0.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>process</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>target/generated-sources/java</outputDirectory>
|
||||
<processor>com.mysema.query.apt.jdo.JDOAnnotationProcessor</processor>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
```XML
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.maven</groupId>
|
||||
<artifactId>apt-maven-plugin</artifactId>
|
||||
<version>1.0.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>process</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>target/generated-sources/java</outputDirectory>
|
||||
<processor>com.mysema.query.apt.jdo.JDOAnnotationProcessor</processor>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
```
|
||||
|
||||
The JDOAnnotationProcessor finds domain types annotated with the javax.jdo.annotations.PersistenceCapable annotation and generates Querydsl query types for them.
|
||||
|
||||
|
||||
@ -27,22 +27,32 @@ The JPA module provides integration with the JPA 2 persistence API.
|
||||
|
||||
And now, configure the Maven APT plugin :
|
||||
|
||||
<plugin>
|
||||
<groupId>com.mysema.maven</groupId>
|
||||
<artifactId>apt-maven-plugin</artifactId>
|
||||
<version>1.0.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>process</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>target/generated-sources/java</outputDirectory>
|
||||
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
```XML
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.maven</groupId>
|
||||
<artifactId>apt-maven-plugin</artifactId>
|
||||
<version>1.0.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>process</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>target/generated-sources/java</outputDirectory>
|
||||
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
```
|
||||
|
||||
The JPAAnnotationProcessor finds domain types annotated with the javax.persistence.Entity annotation and generates query types for them.
|
||||
|
||||
|
||||
@ -20,22 +20,32 @@ The Mongodb module provides integration with the Mongodb API.
|
||||
|
||||
And now, configure the Maven APT plugin which generates the query types used by Querydsl :
|
||||
|
||||
<plugin>
|
||||
<groupId>com.mysema.maven</groupId>
|
||||
<artifactId>apt-maven-plugin</artifactId>
|
||||
<version>1.0.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>process</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>target/generated-sources/java</outputDirectory>
|
||||
<processor>com.mysema.query.mongodb.morphia.MorphiaAnnotationProcessor</processor>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
```XML
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.maven</groupId>
|
||||
<artifactId>apt-maven-plugin</artifactId>
|
||||
<version>1.0.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>process</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>target/generated-sources/java</outputDirectory>
|
||||
<processor>com.mysema.query.mongodb.morphia.MorphiaAnnotationProcessor</processor>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
```
|
||||
|
||||
The MorphiaAnnotationProcessor finds domain types annotated with the com.google.code.morphia.annotations.Entity annotation and generates Querydsl query types for them.
|
||||
|
||||
|
||||
@ -21,32 +21,42 @@ The SQL module provides integration with the JDBC API.
|
||||
**Code generation via Maven**
|
||||
|
||||
This functionality is also available as a Maven plugin. The presented example can be declared like this in the POM :
|
||||
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.myproject.domain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
|
||||
```XML
|
||||
<project>
|
||||
<build>
|
||||
<plugins>
|
||||
...
|
||||
<plugin>
|
||||
<groupId>com.mysema.querydsl</groupId>
|
||||
<artifactId>querydsl-maven-plugin</artifactId>
|
||||
<version>${querydsl.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>export</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdbcDriver>org.apache.derby.jdbc.EmbeddedDriver</jdbcDriver>
|
||||
<jdbcUrl>jdbc:derby:target/demoDB;create=true</jdbcUrl>
|
||||
<packageName>com.myproject.domain</packageName>
|
||||
<targetFolder>${project.basedir}/target/generated-sources/java</targetFolder>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.derby</groupId>
|
||||
<artifactId>derby</artifactId>
|
||||
<version>${derby.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
```
|
||||
|
||||
Use the goal test-export to add the targetFolder as a test compile source root instead of a compile source root.
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user