如果已经建了多对一的关系然后还自己写查询是不是有点多余啊,没跟踪过hibernate的后台查询,所以不知道他的做法,但我认为不应该那么弱智吧,如果数据量大,岂不要慢死,不过数据量大的话也不会同时显示出来。
解决方案 »
- 访问首页,要求地址栏里不变化
- js操作下拉框二级联动
- ibatis配置问题
- weblogic10 配置JMS 问题
- JSP上传页面问题:未发现数据源名称并且未指定默认驱动程序
- hibernate一对多查询在页面上显示的问题
- quartz任务管理器执行多个crud操作时报Illegal attempt...a collection with two open sessions错误
- 求高手 如何在js中生成xml代码
- java编程图片导入是乱码咋办啊?
- 关于STRUTS 表单的问题
- 使用axis2开发webservice,想部署在tomcat上,怎么配置数据源?
- 用jbuilder开发webservice碰到的问题,求高人解答
http://book.csdn.net/bookfiles/190/1001908829.shtml
加个东西<many-to-one name="group" column="groupid" class="com.bean.Group" fetch="select"/>
在 hql 中改,好处是可以区分那些地方需要 fetch, 哪些地方不需要 fetch.缺点是需要人工去改。
假如group 只有 十几个,user再怎么大,假设有10万 抓取group也只有那么十几次, 因为有缓存, 这样性能更高. 如果你使用join , group也就变成10万个, 多占了内存和网络带宽.
如果采用join 则每个用户都抓10W次
通过List得到user对象
然后user.getGroup().id
这样不就得到用户的组ID了么
如果你没有设置延迟加载的话,直接这样写
预先抓取
或者
lazy="false|true"
batch-size="3"或者取大一点
做批量加载