论坛首页 Java企业应用论坛

有个关于domain model的问题

浏览 3214 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-10-01  

现有3个实体A,B,C
A{
Aid
Aname
B集合
}
B{
Bid
Bname
C集合
}
C{
Cid
Cname
C一些相关属性
}

在Hibernate当中肯定要设one to many关联查询,
但是如果我有某个页面只是想得到A的当中的name和id就可以了,但每次通过hibernate查询都会相应的把B和C的集合都包含进来(数据少的话那倒是不要紧,但如果多的话那就要命了)。
请问如果遇到这种情况该怎么设置呢?
   发表时间:2006-10-01  
lazy load
0 请登录后投票
   发表时间:2006-10-01  
如果设置了lazy load也就是只有想调用的时候才会读取,但是使用了它以后会增加数据库的连接的次数,导致最终数据库成本增高。
比如在我的应用当中大部分是需要这种关联查询的,只有个别不需要,那这种设置就是不可取的。
有没有更好的方法动态的使底层查询根据需要采用不同的策略呢?
0 请登录后投票
   发表时间:2006-10-02  
fetch
0 请登录后投票
   发表时间:2006-10-02  
自己写HQL吧
0 请登录后投票
   发表时间:2006-10-02  
gamex 写道
如果设置了lazy load也就是只有想调用的时候才会读取,但是使用了它以后会增加数据库的连接的次数,导致最终数据库成本增高。
比如在我的应用当中大部分是需要这种关联查询的,只有个别不需要,那这种设置就是不可取的。
有没有更好的方法动态的使底层查询根据需要采用不同的策略呢?


用lazy load 怎么会增加数据库连接次数呢?
0 请登录后投票
   发表时间:2006-10-02  
gamex 写道
如果设置了lazy load也就是只有想调用的时候才会读取,但是使用了它以后会增加数据库的连接的次数,导致最终数据库成本增高。
比如在我的应用当中大部分是需要这种关联查询的,只有个别不需要,那这种设置就是不可取的。
有没有更好的方法动态的使底层查询根据需要采用不同的策略呢?


打开show_sql,看看hibernate的sql语句,想想自己用jdbc会怎么实现,就应该没问题了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics