懂Hibernate的请进来

来源:百度知道 编辑:UC知道 时间:2024/05/04 15:10:52
在用HIBERNATE的时候发现了个问题
比如我有个ITEM对象里面包含了IMAGE的集合(一ITEM 对 多IMAGE),配置好后,每个ITEM对象的产生都会伴生N多个IMAGE对象。那么当用户查询得到了一个很大的ITEM集合,效率就会很低。有没有什么办法让HIBERNATE在这种ITEM级别上的查询只返回ITEM本身而不带上N多个没用的IMAGE?

如果能帮我解决了这个问题我就追分,因为目前为止我问的所有3个问题都没有人能回答出来。谢谢
谢谢一楼的同学的回答
问题是我这个现在做的是需要使用HIBERNATE才能实现的跨数据库项目,所以从根本上来说抛弃HIBERNATE还做不到。

哦,如果LAZY是扎样用的话,我是希望在模糊查询ITEM的时候(零到多个ITEM对象)LAZY=“TRUE”但是在精确查询ITEM的时候 (零,或者一个ITEM对象) LAZY="FALSE",请问有什么办法吗?谢谢

在一的那一端 xx.hbm.xml中 也就是ITEM对应的那一个
<set ...../> 里面修改lazy="true" 表示延迟加载! 问题就会解决 你本来设置的应该是 lazy="false" 表示要关联查询

答案补充:
我是希望在模糊查询ITEM的时候(零到多个ITEM对象)LAZY=“TRUE”但是在精确查询ITEM的时候 (零,或者一个ITEM对象) LAZY="FALSE",请问有什么办法吗?谢谢

那就在精确查找的时候写好hql语句 from ITEM IMAGE where ....
lazy="true"本来就是说让你手动控制查找规则的 精确查找的时候在hql里面配置好查询条件就是

hibernate对jdbc是轻量级封装,本来它要做的就是对象-关系域模型,现在你不想用它的持久化,就不用好了,直接写自己的数据访问细节