<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
</dependency>
querydsl.entityAccessors=true
querydsl.sqlKeywords=none
@Entity
public class User {
@Column
private String username;
@Column
private String email;
}
<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</outputDirectory>
<processor>com.querydsl.apt.QuerydslAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
QUser qUser = QUser.user;
List<User> users = new JPAQueryFactory(entityManager)
.selectFrom(qUser)
.where(qUser.username.startsWith("john"))
.fetch();