Hibernate合并查询结果集为实体类
来源:互联网 发布:淘宝店铺注册三个流程 编辑:程序博客网 时间:2024/05/06 03:50
用过mybatis的小伙伴可能都知道,我们可以查询两个表的部分字段合并为一个实体。然而用了Hibernate这么久了,居然还不知道也有此神器。
说明
一般来说,Hibernate中我们常用的有以下几个功能
1.查询全部字段的情况下,如”from 实体类”,list中封装的对象为实体类本身,各属性都将得到填充。
2.只查询一个字段,默认情况下,list中封装的是Object对象。
3.查询两个或两个以上的字段,默认情况下,list中封装的是Object[],长度与所查询的字段数一致。
4.查询部分字段,与数据库保持一致,在hql中使用select new 包名.类名(属性1,属性2……) from 实体类,同时在实体类中添加带参的构造方法,参数的个数和顺序与(属性1,属性2……) 保持一致,这样我们得到的list中存放的依然是实体类的对象,所查询到的属性得到了填充,使用起来更为方便。
配置
如果,我们想查询两个表的部分字段并以实体类的方式展示,如下:
sql="select u.id,u.name,c.contact_name from user u,contract c where u.id = c.id"
这条sql里面的user 和contract 是两个实体类,现在组合查询分别取出来两个实体类里面的部分字段,然后建立一个实体类Result。
实体类
@Data @NoArgsConstructor @AllArgsConstructorpublic class UserVo { private Integer id; private String name; private String contactName;}
查询
String sql="select u.id,u.name,c.contact_name from user u,contract c where u.id = c.id" Query query = session.createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(UserVo.class)); return (List<UserVo>)query.list();
阅读全文
0 0
- Hibernate合并查询结果集为实体类
- hibernate将sql或hql查询结果集映射为实体类 不需要映射文件
- Hibernate查询结果转换为实体类型 (HQL/SQL)
- Hibernate(HQL/SQL)查询结果(Object)转换为实体类型
- hibernate sql查询转化为实体类
- 【Hibernate】Hibernate多表查询后,将查询结果转化为实体
- hibernate查询结果转为实体类 数组越界报错
- hibernate 没有实体类 查询
- Hibernate中使用sql查询结果后再封装成实体类的问题
- hibernate查询结果映射到实体和map的方法
- hibernate中文查询 结果为空
- 在Hibernate中进行多表查询,每个表中各取几个字段,也就是说查询出来的结果集并没有一个实体类与之对应,如何解决这个问题?
- hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决?
- 根据反射将数据库查询结果Datatable,转换为对应的Model类实体对象
- elasticsearch查询结果中实体类处理
- resultset结果集转换为实体List
- SQL多表查询结果返回实体结果集
- Hibernate取查询结果集
- python2.7 Django Mysql远程连接
- Android实现自定义圆形ImageView
- JSP九大内置对象(二)
- Android数据库安全解决方案,使用SQLCipher进行加解密
- 有向图是否有环 BFS 和 DFS
- Hibernate合并查询结果集为实体类
- 读文件夹所有文件目录
- MySQL字符集的问题
- web前端基础知识(三)——CSS编码规范
- 51nod 1295 XOR key(字典树)
- GitLab v8.17.0安装及汉化
- 多种模型融合策略
- 中亦科技黄远邦技术人生(15) ——橙色预警:索引空间泄露导致业务中断
- 第三十九篇:JAVA自定义日期选择器