社区
Web 开发
帖子详情
hibernate中HQL动态构造对象问题
隐藏起来
2010-10-26 11:21:53
如果hibernate要查询两个表,比如A,B,其中A,B对应有javabean,HQL对返回结果怎么动态构造对象?
如果不行,怎么处理这个问题?
...全文
234
10
打赏
收藏
hibernate中HQL动态构造对象问题
如果hibernate要查询两个表,比如A,B,其中A,B对应有javabean,HQL对返回结果怎么动态构造对象? 如果不行,怎么处理这个问题?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
查询语法总结
其内置的
HQL
(
Hibernate
Query Language)是一种面向
对象
的查询语言,它允许开发者以类和
对象
的方式进行数据查询。本文将对
Hibernate
HQL
查询语法进行总结,涵盖基础查询、属性查询、实例化查询以及查询链接等多个...
hibernate
查询之
HQL
hibernate
查询之
HQL
Hibernate
查询之
HQL
是ORM(
对象
关系映射)框架
Hibernate
中
的一个重要组成部分,它是一种面向
对象
的查询语言,与SQL有着显著的区别。
HQL
允许开发者使用类名和属性而不是表名和列名进行查询,从而更好地适应面向
对象
的...
Hibernate
的
HQL
与Criteria资料
1. **代码级的查询
构造
**:可以在代码
中
动态
地创建查询条件,适应不同的业务需求。 2. **类型安全**:使用Criteria API编写的查询在编译时就能检查错误。 3. **强大的表达式系统**:支持比较、函数、子查询等各种...
Hibernate
-
HQL
-QBC-QBE
标题
中
的“
Hibernate
-
HQL
-QBC-QBE”涵盖了四个重要的Java持久化框架
Hibernate
中
的概念,分别是
Hibernate
Query Language(
HQL
)、Query By Criteria(QBC)、Query By Example(QBE)以及相关的库文件。以下是对这些...
Hibernate
-
HQL
-查询-Query资料
在
Hibernate
中
,
HQL
(
Hibernate
Query Language)是专为ORM设计的一种面向
对象
的查询语言,它允许开发者以类和
对象
的方式进行数据查询,而不是直接使用SQL。本资料主要涵盖了
Hibernate
HQL
查询的基本概念、语法以及...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章