hibernate小问题:如何提高效率

woolceo 2006-01-07 10:16:20
我写一个一对多(多对一)关联的小实例,在Cate.hbm.xml的关联设置如下:
<set name="news" lazy="true" cascade="save-update" inverse="false">
<key column="CATE_ID"/>
<one-to-many class="News"/>
</set>

我每次只要返回一个Cate对象,如何设置不让hibernate自动执行多余的sql语句呢?

我发现每次获取一个Cate对象的时候hibernate都自动把关联的News对象都放到Cate里面的Set中。

ps:我把lazy设置成true还是这样。。。真头痛啊。
...全文
169 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
woolceo 2006-01-10
  • 打赏
  • 举报
回复
再顶一个
woolceo 2006-01-09
  • 打赏
  • 举报
回复
继续顶
woolceo 2006-01-08
  • 打赏
  • 举报
回复
顶下
woolceo 2006-01-08
  • 打赏
  • 举报
回复
谢谢。

我的目的是让hibernate只执行一条select * from table where id = ? 语句,这样可以么?
yingtju 2006-01-08
  • 打赏
  • 举报
回复
1.延迟加载的意思是hibernate并不是把News类的实例放在了set中
而是News类代理类的实例,只含id属性,在session中访问到该实例
其他属性才会再从数据库取值

2.hibernate是执行的多条语句马?我觉得应该用的是一条join语句吧

3.多对一都建议把<set ... .... inverse="true">吧

我也刚学没多久,大家讨论把

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧