jpa querydsl
在我的上一篇文章中: JPA –基本投影 –我提到了构建JPA投影的两种基本可能性。 这篇文章为您带来了更多示例,这次基于Querydsl框架。 注意,这里我指的是Querydsl版本3.1.1。
重塑构造函数表达式
看下面的代码:
...
import static com.blogspot.vardlokkur.domain.QEmployee.employee;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.springframework.beans.factory.annotation.Autowired;
import com.blogspot.vardlokkur.domain.EmployeeNameProjection;
import com.mysema.query.jpa.JPQLTemplates;
import com.mysema.query.jpa.impl.JPAQuery;
import com.mysema.query.types.ConstructorExpression;
...
public class ConstructorExpressionExample {
...
@PersistenceContext
private EntityManager entityManager;
@Autowired
private JPQLTemplates jpqlTemplates;
public void someMethod() {
...
final List<EmployeeNameProjection> projections = new JPAQuery(entityManager, jpqlTemplates)
.from(employee)
.orderBy(employee.name.asc())
.list(ConstructorExpression.create(EmployeeNameProjection.class, employee.employeeId,
employee.name));
...
}
..