JPA教程(第五章)
转载自:https://www.cnblogs.com/vincentren/p/9596601.html
第五章
如果多表关联查询时(上节4.3)想将多表的中不同字段选出来时,咱们用的是java8语法将list组装,那么有没有不需要自行组装这一步,查询返回的结果自动就帮我们组装好了呢?
这边介绍个简便方法,使用Projections。
entity
public class StudentDto {private long id;private String name;private int age;private long schoolId;private String schoolName;public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public long getSchoolId() {return schoolId;}public void setSchoolId(long schoolId) {this.schoolId = schoolId;}public String getSchoolName() {return schoolName;}public void setSchoolName(String schoolName) {this.schoolName = schoolName;}@Overridepublic String toString() {return "StudentDto{" +"id=" + id +", name='" + name + '\'' +", age=" + age +", schoolId=" + schoolId +", schoolName='" + schoolName + '\'' +'}';}
}
这里包含我们想要的学生id,姓名,年龄,学校id,学校名称等字段。
test
@Test
public void selectStudent5() {QStudent qStudent = QStudent.student;QSchool qSchool = QSchool.school;List<StudentDto> students = queryFactory.select(Projections.fields(StudentDto.class,qStudent.id,qStudent.name,qStudent.age,qStudent.schoolId,qSchool.name.as("schoolName"))).from(qSchool, qStudent).where(qSchool.id.eq(qStudent.schoolId)).fetch();System.out.println(students);
}
返回的结果就自动拼装成了我们想要的StudentDto。
JPA教程(第五章)相关推荐
- 思科计算机网络ppt,【思科网络课件】计算机网络双语教程第五章.ppt
[思科网络课件]计算机网络双语教程第五章.ppt (27页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 OSI Network Laye ...
- AArch64教程第五章
AArch64教程第五章 本章,我们将看看在aarch64中如何访问内存 内存 随机存储器,或者简单来说,内存是任一架构的必需部分.内存能够被看作由一系列连续的被称为地址的编号组成的数组,每一个元素都 ...
- 计算机辅助设计应用教程,计算机辅助设计基础教程第五章.ppt
计算机辅助设计基础教程第五章 第5章 3ds max 5.1 3ds max基础知识 5.2 对象的创建与编辑 5.3 复合对象的创建 5.4 NURBS建模 5.5 材质和贴图 5.6 摄影机.灯光 ...
- SQL基础教程第五章笔记
第五章 复杂查询 5.1 视图 5.1.1 视图和表 从SQL的角度来看,视图和表是相同的.两者的区别在于表中保存的是实际的数据,而视图中保存的是SELECT语句.视图本身并不存储数据. 视图的优点: ...
- CE教程 第五章 《指针》
步骤 6: 指针: (密码=098712) 上一步解释了怎样用代码寻找功能对付变化位置.但单独用不容易找到地址并修改成你要的数值.这就是为什么要用到指针了.在TUT下面有两个按钮,一个会改变数值,另一 ...
- Android[中级教程]第五章 XML解析之PULL解析器
这一章我们来学习Android中的XML解析器,Android中自带了三个XML解析器,有PULL,SAX,DOM解析器,其中PULL跟SAX都是以事件作为驱动导向的解析器,优点是占用内存小,处理速度 ...
- stty详解-Unix/Linux编程实践教程第五章 学习stty
读书笔记-第五章 连接控制 学习stty 先放上思维导图 为设备编程&设备就像文件 前面所学的知识都是基于文件的,而在unix/linux系统中,所有的设备(打印机,终端,话筒,摄像头等等)也 ...
- JavaEE企业级应用开发教程 第五章
第五章(Spring的事务管理) [单选题] 1.以下关于< tx:method>元素的属性描述错误的是().5分 A.name属性为可选属性,它指定了与事务属性相关的方法名 B.prop ...
- Web前端开发精品课HTML CSS JavaScript基础教程第五章课后编程题答案
编程题: 图5-15所示为一个问卷调查的网页,请制作出来.要求:大标题用h1标签:小题目用h3标签:前两个问题使用有序列表:最后一个问题使用无序列表. 用VS2013新建ASP.NET空网站,添加新项 ...
- C言语教程第五章:函数(1)
概述 在第一章中曾经先容过,C源序次是由函数构成的. 固然在背面各章的序次中都只需一个主函数main(), 但实用序次每每由多个函数构成.函数是C源序次的根本模块, 经由历程对函数模块的挪用完成特定的 ...
最新文章
- HTML5 新增结构元素分为主体结构元素和非主体结构元素
- 速读训练软件_记忆力训练:如何提高注意力呢?
- SpringMVC拦截器-用户登录权限控制代码实现2
- 2018-3-28Linux系统管理(16)计算机网络基础
- ffmpeg播放器 android,Android使用FFmpeg(六)--ffmpeg实现音视频同步播放
- MyBatis 使用 foreach 批量插入
- 算到怀疑人生!如何用并查集解决朋友圈个数问题?
- 怎么看tomcat连接的哪个mysql_如何验证tomcat和mysql连接成功呢
- HNOI2008 遥远的行星
- ExtJS入门到精通视频教程下载 ExtJS视频教程
- M.2接口 通道SATA,PCI-Ex2,PCI-Ex4,B key,M key,BM key,NVMe,AHCI都是什么
- 【优化求解】基于狼群算法WPA求解最优目标matlab代码
- Sumatra PDF——好用快捷工具介绍及使用
- [思考进阶]02 如何进行认知升级?
- Win10创建新用户账户
- RMQPOJ3264
- 完全二叉树的节点个数
- String index out of range: -824264796 不明的原因导致驱动程序造成失败,请回报这个例外。
- 某品威客,js逆向★★
- APP退守、小程序进击,谁在主导内容创业下半场?
热门文章
- 深度学习原理与框架-RNN网络框架-LSTM框架 1.控制门单元 2.遗忘门单元 3.记忆门单元 4.控制门单元更新 5.输出门单元 6.LSTM网络结构...
- warning ..\package.json: No license field
- error: invalid application of 'sizeof' to an incomplete type 'JNINativeMethod []'
- H3C基础配置学习笔记1-端口配置
- Cocos Creator 优化,帧动画优化
- 微商利用淘宝评价怎么引流?如何利用淘宝买低价产品刷评价引流?
- 20210424# 咕泡架构
- 7.5 Java(农夫果园【完结篇】:一个农场,专门种植销售各类水果,在这个系统中需要描述下列水果葡萄、草莓、苹果)
- 44道JS难题,做对一半就是高手
- 智能血压计如何测血压计