<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-core</artifactId>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
</dependency>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
@Entity
@Table(name = "user")
public class User {
@Id
private Long id;
private String username;
}
@Repository
public class UserRepositoryImpl extends QuerydslRepositorySupport implements UserRepository {
public UserRepositoryImpl() {
super(User.class);
}
public List<User> findByUsername(String username) {
QUser user = QUser.user;
JPQLQuery<User> query = from(user).where(user.username.eq(username));
return query.fetch();
}
}
mvn compile
@Autowired
private UserRepository userRepository;
public void searchUser() {
List<User> userList = userRepository.findByUsername("test");
}