社区
Java EE
帖子详情
hibernate 关联查询求解
a250121244
2011-11-18 03:55:55
问题描述: 假如我有4张表A,B,C,D. A与B之间是ManyToOne,B与C是OneToOne,C与D是OneToOne.我要查询A表,那么查询A表默认就会把一方查出来,也就是把B表查了出来,但是B与C又是一对一,结果查询的时候又去查C表,同理也查了D表.但实际情况我只需要查A与B表.请高手求解如何解决这个问题?
...全文
117
12
打赏
收藏
hibernate 关联查询求解
问题描述: 假如我有4张表A,B,C,D. A与B之间是ManyToOne,B与C是OneToOne,C与D是OneToOne.我要查询A表,那么查询A表默认就会把一方查出来,也就是把B表查了出来,但是B与C又是一对一,结果查询的时候又去查C表,同理也查了D表.但实际情况我只需要查A与B表.请高手求解如何解决这个问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
a312983516
2011-11-21
打赏
举报
回复
[Quote=引用 10 楼 a312983516 的回复:]
注解 在C D上加入fetch
[/Quote]
@ManyToOne(fetch = FetchType.LAZY) 写全
okafor2011
2011-11-21
打赏
举报
回复
直接把你要的属性查出来,一个object数组
a312983516
2011-11-21
打赏
举报
回复
注解 在C D上加入@fetch
taylor220
2011-11-21
打赏
举报
回复
延迟加载
lazy="true"
这样只有在你用到 BCD表的属性时才会去查询
kane1981
2011-11-21
打赏
举报
回复
设置 lazy="true"
karl1235
2011-11-21
打赏
举报
回复
懒加载...
不过我觉得这样查出来,对性能也没多大得影响..
chq235
2011-11-21
打赏
举报
回复
没有理清楚你的意思哈,人笨了。
a250121244
2011-11-18
打赏
举报
回复
[Quote=引用 3 楼 gmogle 的回复:]
不过,后面都是1V1 也没必要延迟加载,完全可以一次查出来
[/Quote]
直接无法查询..报错.
a250121244
2011-11-18
打赏
举报
回复
可是有关系啊.由于B与C存在关联关系,但是关联的对象为空.所以你查询的时候会抛异常的.它生成的sql语句where条件之后会这样写的 b.id = c.id.但是C对象为null . 所以会错的
gmogle
2011-11-18
打赏
举报
回复
不过,后面都是1V1 也没必要延迟加载,完全可以一次查出来
gmogle
2011-11-18
打赏
举报
回复
延迟加载
liukelin
2011-11-18
打赏
举报
回复
查出来没关系嘛
java hql in_
Hibernate
多对多关联映射的HQL中的in条件查询问题
文章详细讲述了在
Hibernate
中处理多对多关联映射时,如何使用HQL进行in条件查询。作者通过实际示例解释了在HQL中,当尝试使用`in`查询集合时出现的错误,并提供了解决方案,即使用`elements`关键字来避免集合的集合导致的错误。同时,还提到在查询结果可能存在重复记录的情况下,可以使用`distinct`关键字去除重复。最后给出了具体的HQL语句示例。
Hibernate
多对多关联映射的HQL中的in条件查询问题
本文介绍如何使用
Hibernate
HQL进行多对多关联映射的条件查询,并提供了一个具体的例子,展示了如何解决in条件查询时出现的错误及重复记录问题。
关于
Hibernate
的两表查询的问题解决!
本文讨论了使用
Hibernate
进行涉及两个关联表的查询问题。通过正确的HQL语法,解决了跨表查询及结果集处理的问题。
Java EE
67,536
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章