Java论坛网»Java技术»webwork+hibernate多表内联查询的显示!!!!!!11
webwork+hibernate多表内联查询的显示!!!!!!11
问?:
选择 序号 项目名称 工程档案号 登记人 登记日期 工作状态 操作
1 房地产开发有限公司 2005A022 王五 2005-02-11 登记中 修改
2 地产开发有限公司 2005A021 王五 2005-01-09 登记中 修改
3 摩天地产开发有限公司 2005A020 王五 2005-01-05 登记中 修改
4 房地产开发有限公司 2005A019 王五 2005-01-03 登记中 修改
5 地产开发有限公司 2005A018 王五 2005-01-01 登记办结 浏览
这样的一个列表显示(包括分页,涉及到多表)
本人预想通过ACTION把把LIST传到页面来处理,但有一个难点有待解决!!
HIBERNATE在联合查询时,有个延迟查找的问题. 直接取一个表的LIST,到了页面层后.在SESSION关闭的情况下会得不到联合表的信息.如果取消延迟又会取出了太多无用的信息.
请教过一些朋友.在交流中对方告之以下信息.
交流片断.
--------------------------------------------------------
如果这时多个表,后台会有一个联合查询,返回一个list,
list里放map
页面.
<#list userList as map>
<td>
<center>${map.get("S10142421151142")}</center>
</td>
其实很多工作要在后台作,
重中之重是联合查询后的list里的map
-------------------------------
由于QQ交流不便,谈到最后还是不胜了了.特别是对"list里放map"不知何解.以上只是作为参考.
现重赏解答:
如何实现在页面的多表联合查询?? (有方案的最好能写出简要代码.比如说如何往"LIST 里面放MAP")
1 房地产开发有限公司 2005A022 王五 2005-02-11 登记中 修改
2 地产开发有限公司 2005A021 王五 2005-01-09 登记中 修改
3 摩天地产开发有限公司 2005A020 王五 2005-01-05 登记中 修改
4 房地产开发有限公司 2005A019 王五 2005-01-03 登记中 修改
5 地产开发有限公司 2005A018 王五 2005-01-01 登记办结 浏览
这样的一个列表显示(包括分页,涉及到多表)
本人预想通过ACTION把把LIST传到页面来处理,但有一个难点有待解决!!
HIBERNATE在联合查询时,有个延迟查找的问题. 直接取一个表的LIST,到了页面层后.在SESSION关闭的情况下会得不到联合表的信息.如果取消延迟又会取出了太多无用的信息.
请教过一些朋友.在交流中对方告之以下信息.
交流片断.
--------------------------------------------------------
如果这时多个表,后台会有一个联合查询,返回一个list,
list里放map
页面.
<#list userList as map>
<td>
<center>${map.get("S10142421151142")}</center>
</td>
其实很多工作要在后台作,
重中之重是联合查询后的list里的map
-------------------------------
由于QQ交流不便,谈到最后还是不胜了了.特别是对"list里放map"不知何解.以上只是作为参考.
现重赏解答:
如何实现在页面的多表联合查询?? (有方案的最好能写出简要代码.比如说如何往"LIST 里面放MAP")
答!: 1:
呵呵,沙发啊!!!
答!: 2:
你试试把你的List存放到Application中,再在Jsp中调用
此方法消耗资源,但也可以解决你的问题
希望后面有更好的解决方法。
此方法消耗资源,但也可以解决你的问题
希望后面有更好的解决方法。
答!: 3:
学习up
答!: 4:
to:
lbx19822004() ( ) 信誉:100 Blog 2006-8-29 20:41:30 得分: 0
----------------------------
你试试把你的List存放到Application中,再在Jsp中调用
此方法消耗资源,但也可以解决你的问题
希望后面有更好的解决方法。
-----------------------------------------
看来你还不了解我的意思.不是LIST放那的问题.是如何通过级联查询得到的想要的LIST(即,集合了多个表的某些字段的LIST).
至于取消延迟加载,通过得到主表的LIST再到页面层来显示所需要的东西,那是想都不要想.
原因:
主表关联的副表过多,副表所需要的信息其实也就一二个字段.全取出来恐怕要不了几个查询,服务器就挂了.
目前能想到的,也就是一个笨方法.重新根据页面显示所需写一个BEAN. 再通过业务类的查询把所需值都赋给BEAN.然后再把BEAN组成一个LIST. 最终把这个LIST在VIEW层显示出来.
但这样写实在是麻烦.而且又通过这个BEAN把页面层跟业务层关联起来了,达不到分层的目的.确实不怎么样,个人始终感觉那个"list里放map "才是最终解决方案.无奈,本人才疏学浅,实在是悟不透. 肯请高手授道解惑!!
类似的这种查询多了去了,也肯定有很多成熟解决方案.只是愿不愿意透露的问题,望知道的不吝赐教,本人不胜感激,加分多多!!
lbx19822004() ( ) 信誉:100 Blog 2006-8-29 20:41:30 得分: 0
----------------------------
你试试把你的List存放到Application中,再在Jsp中调用
此方法消耗资源,但也可以解决你的问题
希望后面有更好的解决方法。
-----------------------------------------
看来你还不了解我的意思.不是LIST放那的问题.是如何通过级联查询得到的想要的LIST(即,集合了多个表的某些字段的LIST).
至于取消延迟加载,通过得到主表的LIST再到页面层来显示所需要的东西,那是想都不要想.
原因:
主表关联的副表过多,副表所需要的信息其实也就一二个字段.全取出来恐怕要不了几个查询,服务器就挂了.
目前能想到的,也就是一个笨方法.重新根据页面显示所需写一个BEAN. 再通过业务类的查询把所需值都赋给BEAN.然后再把BEAN组成一个LIST. 最终把这个LIST在VIEW层显示出来.
但这样写实在是麻烦.而且又通过这个BEAN把页面层跟业务层关联起来了,达不到分层的目的.确实不怎么样,个人始终感觉那个"list里放map "才是最终解决方案.无奈,本人才疏学浅,实在是悟不透. 肯请高手授道解惑!!
类似的这种查询多了去了,也肯定有很多成熟解决方案.只是愿不愿意透露的问题,望知道的不吝赐教,本人不胜感激,加分多多!!
答!: 5:
NND,我以后之回答问题,不发帖了,感觉这里等级低的帖子没人理
答!: 6:
等等级上来了再说
答!: 7:
chuzhijun(幽恋) ( ) 信誉:100 Blog 2006-08-30 15:09:00 得分: 0
NND,我以后之回答问题,不发帖了,感觉这里等级低的帖子没人理
昏...... 不懂...........
NND,我以后之回答问题,不发帖了,感觉这里等级低的帖子没人理
昏...... 不懂...........
答!: 8:
楼主的意思是如何高效的一次取到所有想要的字段?
当然不能先取主表,然后再依关联字段值去依次去取各明细表的相关值。
可以做个视图,把此次查询所用到的字段组合起来
然后把这个视图映射成一个类。
但是这样做,可能将来移植会有一些问题。
当然不能先取主表,然后再依关联字段值去依次去取各明细表的相关值。
可以做个视图,把此次查询所用到的字段组合起来
然后把这个视图映射成一个类。
但是这样做,可能将来移植会有一些问题。
答!: 9:
你都知道了还问题就你说的那两个方法,
写边和list里放map
写边和list里放map
答!: 10:
denghan(很久没来ASP版了) ( ) 信誉:100 Blog 2006-8-31 11:18:02 得分: 0
楼主的意思是如何高效的一次取到所有想要的字段?
当然不能先取主表,然后再依关联字段值去依次去取各明细表的相关值。
可以做个视图,把此次查询所用到的字段组合起来
然后把这个视图映射成一个类。
但是这样做,可能将来移植会有一些问题。
-----------------------------
我想意思你是理解了.但好像还没看到我的前提,如果是用HIBERNATE来做框架的话,是不存在视图这一说法的.
--------------------------------------------------------------------
CAYU(中原) ( ) 信誉:96 Blog 2006-8-31 16:57:22 得分: 0
你都知道了还问题就你说的那两个方法,
写边和list里放map
------------------------------------------------
老兄...我知道是知道,但不知道具体怎么做.就好像你也知道"九阴白骨爪"吧!但你知道其姿势是什么样的吗???
我的问题就在这,没范例,不知具体的应该怎么写!!
能在回贴中给段代码吗?不胜感激~~~
楼主的意思是如何高效的一次取到所有想要的字段?
当然不能先取主表,然后再依关联字段值去依次去取各明细表的相关值。
可以做个视图,把此次查询所用到的字段组合起来
然后把这个视图映射成一个类。
但是这样做,可能将来移植会有一些问题。
-----------------------------
我想意思你是理解了.但好像还没看到我的前提,如果是用HIBERNATE来做框架的话,是不存在视图这一说法的.
--------------------------------------------------------------------
CAYU(中原) ( ) 信誉:96 Blog 2006-8-31 16:57:22 得分: 0
你都知道了还问题就你说的那两个方法,
写边和list里放map
------------------------------------------------
老兄...我知道是知道,但不知道具体怎么做.就好像你也知道"九阴白骨爪"吧!但你知道其姿势是什么样的吗???
我的问题就在这,没范例,不知具体的应该怎么写!!
能在回贴中给段代码吗?不胜感激~~~
答!: 11:
另...提议用OPEN SESSION IN VIEW 的同志就免了,这种方式弊端过于严重,就暂不考虑了.
答!: 12:
HIBERNATE在联合查询时,有个延迟查找的问题. 直接取一个表的LIST,到了页面层后.在SESSION关闭的情况下会得不到联合表的信息.(所以一般不能用这个方法)
如果取消延迟又会取出了太多无用的信息.
(在你的程序中适当优化,一次起出你要的数据,比如你的方法可以适当的传入参数控制返回的结果集)
要想完美的解决这个问题,还真的很麻烦。
HIBERNATE在联合查询延迟加载时一条一条的SQL,这样的效率并不高,
在没有十分必要的情况下少用,尽量不要用。
如果取消延迟又会取出了太多无用的信息.
(在你的程序中适当优化,一次起出你要的数据,比如你的方法可以适当的传入参数控制返回的结果集)
要想完美的解决这个问题,还真的很麻烦。
HIBERNATE在联合查询延迟加载时一条一条的SQL,这样的效率并不高,
在没有十分必要的情况下少用,尽量不要用。
答!: 13:
不就是数据分页显示吗, 何必搞那么麻烦呢. google查一查一大堆
答!: 14:
楼上的,好像还没有理解我问题的重点. HB的分页太简单了.但我问的重点好像不是分页怎么显示的问题吧.
相关JAVA教程:
tomcat 中文问题
java程序中如何调用javascript函数?
在java中如何调用javascript函数啊?
关于使用swing简单问题
一个把我卡住的问题,关于图形界面的。
請教大蝦,如何用jacob將office 2007中的文件打開,另存
关于netbeans5.5无法让jsp里的button value为中文的问题
Jotm类包发布到WEBLOGIC引发类冲突(八百里加急)
Struts html:options 标签的奇怪问题(急等)
关于软件测试的两个例子,救命啊。。。(请大家帮忙啊)
【50分问大牛】学了几个月struts发现没弄明白基础知识
xfire能否得到当前session或者application对象?