社区
Web 开发
帖子详情
hibernate中HQL动态构造对象问题
隐藏起来
2010-10-26 11:21:53
如果hibernate要查询两个表,比如A,B,其中A,B对应有javabean,HQL对返回结果怎么动态构造对象?
如果不行,怎么处理这个问题?
...全文
236
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
查询语法总结
Hibernate
hql
查询语法总结
Hibernate
hql
查询语法总结
hibernate
查询之
HQL
hibernate
查询之
HQL
hibernate
查询之
HQL
hibernate
查询之
HQL
hibernate
查询之
HQL
Hibernate
的
HQL
与Criteria资料
不错的资料,很稀少的,不会浪费你的资源分!
Hibernate
-
HQL
-QBC-QBE
NULL 博文链接:https://awfrun.iteye.com/blog/690632
Hibernate
-
HQL
-查询-Query资料
Hibernate
HQL
查询 Query 资料 3个word总结的资料。
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章