关于 hibernate 一对多底层封装数据的问题

2018-05-17 16:21:22 +08:00
 yestodayHadRain
最近学习 hibernate 框架,发现了一个问题,想了好久都想不明白,hibernate 一对多关系时

比如 用户表和订单表,用户配置文件里有一个 订单 list,订单配置文件里有一个 person,我如果查看 a 用户下面的所有订单,底层疯转数据的时候 到 list 的时候 需要去封装订单,订单里有 person,这个时候 a 用户还没封装好 person 哪里来的
1086 次点击
所在节点    问与答
11 条回复
yestodayHadRain
2018-05-17 19:10:33 +08:00
大佬们别只看呀,谁清楚麻烦给解释解释,小弟跪谢啦
lhx2008
2018-05-17 19:13:46 +08:00
递归封装的,没有问题啊,先是订单 list,里面的 person 是 null,然后再取 person 装进来,然后 person 再取订单装进来。有深度限制的,最后就是 null
yestodayHadRain
2018-05-17 19:17:03 +08:00
你的意思是最后封装好的 list 和 person 都是 null ?
yestodayHadRain
2018-05-17 19:18:19 +08:00
@lhx2008 不会吧,如果最后都是空的为什么还要这样写 javabean 呢?
lhx2008
2018-05-17 19:24:58 +08:00
@yestodayHadRain order -> person -> order -> person -> null 多少层可以设置的,要不然什么时候完?
yestodayHadRain
2018-05-17 20:24:03 +08:00
@lhx2008 你的意思是,set 和 person 最后都是按 null 来封装起来的吗?
lhx2008
2018-05-17 20:29:18 +08:00
@yestodayHadRain 你可以试下取出来的 bean,一直 get 下去,看看报不报错,你就懂了(当然更简单的方法是打断点看)
yestodayHadRain
2018-05-17 20:35:28 +08:00
@lhx2008 我大概清楚了,其实 set 集合里面的 order 下面的 person 为空是没事的,因为当前我们查询的就是这个 person
yestodayHadRain
2018-05-17 20:36:45 +08:00
@lhx2008 我理解的对吗?
lhx2008
2018-05-17 20:40:27 +08:00
yestodayHadRain
2018-05-17 20:41:58 +08:00
@lhx2008 感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/455664

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX