当前位置: 首页 > news >正文

企业做网站服务费潍坊有哪些网站

企业做网站服务费,潍坊有哪些网站,泰顺网站建设,wordpress建的论坛jpa querydsl在我的上一篇文章中#xff1a; JPA –基本投影 –我提到了构建JPA投影的两种基本可能性。 这篇文章为您带来了更多示例#xff0c;这次基于Querydsl框架。 注意#xff0c;这里我指的是Querydsl版本3.1.1。 重塑构造函数表达式 看下面的代码#xff1a; ...… 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 {...PersistenceContextprivate EntityManager entityManager;Autowiredprivate JPQLTemplates jpqlTemplates;public void someMethod() {...final ListEmployeeNameProjection projections new JPAQuery(entityManager, jpqlTemplates).from(employee).orderBy(employee.name.asc()).list(ConstructorExpression.create(EmployeeNameProjection.class, employee.employeeId,employee.name));... }... } 上面的Querydsl构造意味着创建一个新的JPQL查询[1] [2] 使用employee作为数据源使用雇员名[3]排序数据并返回EmployeeNameProjection的列表该列表是使用名为的2-arg构造函数构建的员工ID和姓名[4] 。 这与我以前的文章 JPA – Basic Projections 中的构造函数表达式示例非常相似并导致以下SQL查询 select EMPLOYEE_ID, EMPLOYEE_NAME from EMPLOYEE order by EMPLOYEE_NAME asc 如上所示与JPA构造函数表达式相比主要优点是使用Java类而不是在JPQL查询中硬编码的名称。 更重塑的构造函数表达式 Querydsl文档[4]描述了使用构造函数表达式的另一种方式要求使用QueryProjection批注和Query Type [1]进行投影请参见下面的示例。 让我们从修改投影类开始-请注意我在类构造函数上添加了QueryProjection批注。 package com.blogspot.vardlokkur.domain;import java.io.Serializable;import javax.annotation.concurrent.Immutable;import com.mysema.query.annotations.QueryProjection;Immutable public class EmployeeNameProjection implements Serializable {private final Long employeeId;private final String name;QueryProjectionpublic EmployeeNameProjection(Long employeeId, String name) {super();this.employeeId employeeId;this.name name;}public Long getEmployeeId() {return employeeId;}public String getName() {return name;}} 现在我们可以通过以下方式使用修改后的投影类和相应的Query Type [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.blogspot.vardlokkur.domain.QEmployeeNameProjection;import com.mysema.query.jpa.JPQLTemplates; import com.mysema.query.jpa.impl.JPAQuery;...public class ConstructorExpressionExample {...PersistenceContextprivate EntityManager entityManager;Autowiredprivate JPQLTemplates jpqlTemplates;public void someMethod() {...final ListEmployeeNameProjection projections new JPAQuery(entityManager, jpqlTemplates).from(employee).orderBy(employee.name.asc()).list(new QEmployeeNameProjection(employee.employeeId, employee.name));...}... } 这导致SQL查询 select EMPLOYEE_ID, EMPLOYEE_NAME from EMPLOYEE order by EMPLOYEE_NAME asc 实际上当您仔细查看为EmployeeNameProjection QEmployeeNameProjection 生成的查询类型[1]时 您会发现这是一种用于创建构造函数表达式的“捷径”如本文第一部分所述。 映射投影 Querydsl使用基于MappingProjection的工厂提供了另一种构建投影的方法。 package com.blogspot.vardlokkur.domain;import static com.blogspot.vardlokkur.domain.QEmployee.employee;import com.mysema.query.Tuple; import com.mysema.query.types.MappingProjection;public class EmployeeNameProjectionFactory extends MappingProjectionEmployeeNameProjection {public EmployeeNameProjectionFactory() {super(EmployeeNameProjection.class, employee.employeeId, employee.name);}Overrideprotected EmployeeNameProjection map(Tuple row) {return new EmployeeNameProjection(row.get(employee.employeeId), row.get(employee.name));}} 上面的类是一个简单的工厂使用员工ID和名称创建EmployeeNameProjection实例。 请注意工厂构造函数定义将使用哪些员工属性来构建投影而map方法定义将如何创建实例。 您可以在下面找到使用工厂的示例 ... 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.blogspot.vardlokkur.domain.EmployeeNameProjectionFactoryimport com.mysema.query.jpa.JPQLTemplates; import com.mysema.query.jpa.impl.JPAQuery; ...public class MappingProjectionExample {...PersistenceContextprivate EntityManager entityManager;Autowiredprivate JPQLTemplates jpqlTemplates;public void someMethod() {...final ListEmployeeNameProjection projections new JPAQuery(entityManager, jpqlTemplates).from(employee).orderBy(employee.name.asc()).list(new EmployeeNameProjectionFactory());....}... } 如您所见与构造函数表达式示例相比这里唯一的区别是列表方法调用。 上面的示例再次导致非常简单SQL查询 select EMPLOYEE_ID, EMPLOYEE_NAME from EMPLOYEE order by EMPLOYEE_NAME asc 这种方式构建投影功能更加强大并且不需要存在n-arg投影构造函数。 基于QBean的投影JavaBeans再次出现 使用基于QBean的 Querydsl创建投影至少还有另一种可能性在这种情况下我们使用以下方法构建结果列表 ... .list(Projections.bean(EmployeeNameProjection.class, employee.employeeId, employee.name)) 这种方式要求EmployeeNameProjection类遵循JavaBean约定这在应用程序中并不总是需要的。 如果需要请使用它但已被警告 很少有甜点链接 使用查询类型 查询方式 定购 构造函数投影 参考 JPA –我们的JCG合作伙伴 Michal Jastak在Warlocks Thoughts博客上的Querydsl预测 。 翻译自: https://www.javacodegeeks.com/2013/05/jpa-querydsl-projections.htmljpa querydsl
http://www.pierceye.com/news/361814/

相关文章:

  • 潍坊 餐饮网站建设淘宝seo优化
  • 樟木头镇网站建设公司WordPress企业响应式主题
  • 怎么给网站做备份呢怎么去建设微信网站
  • 成都各公司网站中小企业网站建设 论文
  • 广告网站建设实训报告做电商从哪里入手
  • 建电子商务网站需要多少钱做网站的简称
  • 制定网站推广方案网络营销网站分析
  • 商城网站系网站 png逐行交错
  • 陕西网站建设陕icp备免费虚拟机安卓
  • 优化教程网站推广排名东莞网站建设推广有哪些
  • 金阳建设集团网站电子商务系统 网站建设
  • 网站建设规模哪里有做app软件开发
  • 建站工具上市手机视频网站设计
  • 代做道具网站做地方门户网站不备案可以吗
  • 电子商务 网站前台功能想做微商怎么找厂家
  • 网站建设电子书做网站引入字体
  • 顺德建设网站公司分发平台
  • 个人门户网站模板下载婚纱摄影网站定制
  • 提高网站流量的软文案例手机腾讯网
  • 网站只做内容 不做外链深圳宝安区天气
  • 生物网站 template淘宝的网站建设怎么建
  • 苏州哪家做网站好些推广之家app
  • 网站开发计入管理费用哪个明细对网站建设的调研报告
  • 南头专业的网站建设公司wordpress数据量大网站访问
  • 龙华民治网站建设公司wordpress设置vip
  • 网站建设天猫店免费主机空间
  • 帮网贷做网站会判刑吗学it要多久多少学费
  • 陕西网站建设维护erp软件怎么安装
  • 沈阳网站建设简维软件工程在网站建设
  • 万维网网站续费云南建设厅网站执业注册