社区
Web 开发
帖子详情
hibernate中HQL动态构造对象问题
隐藏起来
2010-10-26 11:21:53
如果hibernate要查询两个表,比如A,B,其中A,B对应有javabean,HQL对返回结果怎么动态构造对象?
如果不行,怎么处理这个问题?
...全文
269
10
打赏
收藏
hibernate中HQL动态构造对象问题
如果hibernate要查询两个表,比如A,B,其中A,B对应有javabean,HQL对返回结果怎么动态构造对象? 如果不行,怎么处理这个问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
微甜灬呼吸
2010-10-26
打赏
举报
回复
2表xml里建立1对1或1对多关系
closewbq
2010-10-26
打赏
举报
回复
这么处理:
首先你查询两个表,得到一个list。
然后遍历。
for(Object obj:list){
Object[] arr=(Object[])obj;
//获取其中的属性就是:arr[下标];
//你可以创建一个A和B的所有属性对应的实体类,然后set进去。
}
ClicShan
2010-10-26
打赏
举报
回复
问楼下的!
BearKin
2010-10-26
打赏
举报
回复
[Quote=引用 6 楼 dchua123 的回复:]
引用 5 楼 bearkin 的回复:
引用楼主 dchua123 的回复:
如果hibernate要查询两个表,比如A,B,其中A,B对应有javabean,HQL对返回结果怎么动态构造对象?
如果不行,怎么处理这个问题?
不太明白你说的构造对象是什么意思 如果是指在HQL里使用构造器的话 你倒是可以参考下Hibernate中文手册里的关于HQL的那一章
类似这种东东,但……
[/Quote]
查询两个实体的话 返回的就是一个数组 当然如果你看了我说的帮助文档的话 你就可以通过构造器将两个对象放到一个对象里 或者照着9L说的做
closewbq
2010-10-26
打赏
举报
回复
[Quote=引用 4 楼 dchua123 的回复:]
引用 2 楼 closewbq 的回复:
这么处理:
首先你查询两个表,得到一个list。
然后遍历。
for(Object obj:list){
Object[] arr=(Object[])obj;
//获取其中的属性就是:arr[下标];
//你可以创建一个A和B的所有属性对应的实体类,然后set进去。
}
List list = query.list();
fo……
[/Quote]
首先你通过
List list = query.list();得到一个list。
list的集合中,包含了两个表的字段信息的记录。
for(Object obj:list){
Object[] arr=(Object[])obj;//这样,每个arr,就是一条记录,包含了两个表的信息。
for(Object o:arr){
System.out.println(o);//这样你输出的就是一行记录中,每个字段的信息。
//如果想组装成javaBean。那么你把A和B两个表的属性,建立成一个类C,在这里,直接c.setXXX(o);就可以了
}
}
隐藏起来
2010-10-26
打赏
举报
回复
[Quote=引用 7 楼 yangxuebao123 的回复:]
我告诉你一个方法,新建一个表单,用于显示数据,当然包括A表和B表的数据..
你哪个新建的表单里面必须有带参数的构造函数.
select new 包名.方法名(a.id,b.id) from A a, B,b where a.id = b.id
[/Quote]
这个能说详细点么?
yangxuebao123
2010-10-26
打赏
举报
回复
我告诉你一个方法,新建一个表单,用于显示数据,当然包括A表和B表的数据..
你哪个新建的表单里面必须有带参数的构造函数.
select new 包名.方法名(a.id,b.id) from A a, B,b where a.id = b.id
隐藏起来
2010-10-26
打赏
举报
回复
[Quote=引用 5 楼 bearkin 的回复:]
引用楼主 dchua123 的回复:
如果hibernate要查询两个表,比如A,B,其中A,B对应有javabean,HQL对返回结果怎么动态构造对象?
如果不行,怎么处理这个问题?
不太明白你说的构造对象是什么意思 如果是指在HQL里使用构造器的话 你倒是可以参考下Hibernate中文手册里的关于HQL的那一章
[/Quote]
类似这种东东,但这个只能查询一个表,对应一个javabean,两个表就不行
List list = query.list();
Iterator it = list.iterator();
UserInfo admin = (UserInfo) it.next();
BearKin
2010-10-26
打赏
举报
回复
[Quote=引用楼主 dchua123 的回复:]
如果hibernate要查询两个表,比如A,B,其中A,B对应有javabean,HQL对返回结果怎么动态构造对象?
如果不行,怎么处理这个问题?
[/Quote]
不太明白你说的构造对象是什么意思 如果是指在HQL里使用构造器的话 你倒是可以参考下Hibernate中文手册里的关于HQL的那一章
隐藏起来
2010-10-26
打赏
举报
回复
[Quote=引用 2 楼 closewbq 的回复:]
这么处理:
首先你查询两个表,得到一个list。
然后遍历。
for(Object obj:list){
Object[] arr=(Object[])obj;
//获取其中的属性就是:arr[下标];
//你可以创建一个A和B的所有属性对应的实体类,然后set进去。
}
[/Quote]
List list = query.list();
for(Object obj:list){
Object[] arr=(Object[])obj;
//获取其中的属性就是:arr[下标];
for(int i = 0;i<50;i++)
System.out.println(arr[i]);
}
输出没有看得懂的东西,你能说具体点么?谢谢
Hibernate
学习笔记七
本文深入探讨了
HQL
(
Hibernate
Query Language)作为面向
对象
的查询语言在
Hibernate
框架
中
的应用,包括
HQL
查询的基本语法、
构造
对象
进行查询、内连接抵消延迟加载
问题
、命名查询以及QBC(Query By Criteria)API的使用。文章详细解释了如何通过
HQL
进行离散查询和
构造
对象
查询,以及如何使用内连接避免延迟加载带来的
问题
。同时,介绍了命名查询的方法和QBC API的特性,如基于字符串的
HQL
查询、
动态
生成查询语句等功能。此外,还阐述了如何利用QBC API实现过滤条件查询,如年龄范围、名字包含特定字符等。最后,文章还提到了QBC API支持的查询排序和集合过滤方法。
hql
语法与详细解释
本文详细解析了
HQL
查询在
Hibernate
实体操作体系
中
的核心地位,涵盖了实体查询、实体更新和删除、属性查询、分组与排序以及参数绑定等技术细节,通过实例展示了如何高效地使用
HQL
进行数据检索、更新和删除操作。
Hibernate
HQL
之
动态
构造
实例
对象
本文介绍了一种通过
Hibernate
的
HQL
语言
动态
构造
实例
对象
的方法,这种方法可以更方便地处理查询结果,避免了传统方式下逐条访问结果集的不便。
根据
对象
动态
构造
hibernate
hql
查询语句
在
Hibernate
应用
中
,为实现按条件删除功能,在方法里传入泛型
对象
构建
HQL
语句。思路是遍历
对象
属性,有值的字段作为删除条件。具体通过遍历
对象
的get方法,用方法反射获取值,判断值是否为空来组装
HQL
语句。
初识
hibernate
——
hql
本文深入讲解了
HQL
(
Hibernate
Query Language)的基本概念及其多种查询方式,包括简单属性查询、实体
对象
查询、条件查询等,并探讨了如何使用
HQL
进行分页、统计及更新操作。
Web 开发
81,111
社区成员
341,725
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章