JPA – Querydsl投影

本文详细介绍了使用Querydsl框架在JPA中实现投影的各种方法,包括重塑构造函数表达式、更重塑的构造函数表达式、映射投影以及基于QBean的投影。通过示例展示了如何创建投影类和查询,强调了它们在SQL查询生成和性能优化方面的作用。
摘要由CSDN通过智能技术生成

在我的上一篇文章中: 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));
        ...                                
    }
    ...
}<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值