hibernate注解属性问题

@ManyToOne(fetch=FetchType.EAGER)这个里面的fetch配置是什么作用@Fetch(FetchMode.JOIN)这个fetch又是什么作用... @ManyToOne(fetch = FetchType.EAGER) 这个里面的fetch配置是什么作用

@Fetch(FetchMode.JOIN)这个fetch又是什么作用 跟上面的有什么区别
展开
 我来答
呼延水风7D
2012-07-20
知道答主
回答量:18
采纳率:0%
帮助的人:8.1万
展开全部
fetch = FetchType.EAGER :表示关联关系的从类在主类加载的时候同时加载

FetchMode.JOIN: 一对多表查询时fetchMode.join 生成left outer join 出来数据
绿茶_白开水
2012-07-21 · TA获得超过107个赞
知道答主
回答量:13
采纳率:100%
帮助的人:21.6万
展开全部
问题1:
fetch属性,设定关联对象的加载策略或方式。可选值如下:
FetchType.LAZY:懒加载,关联对象不立刻加载(即从数据库读入到内存),在使用到的时候加载。
FetchType.EAGER:立刻加载,在加载主体对象时,同时加载关联属性对象。
问题2:
两者都是设定加载策略,前者是JPA标准设定加载策略的注解属性,后者是hibernate自有加载策略注解。可选值如下:
@Fetch(FetchMode.JOIN):始终立刻加载,使用外连(outer join)立刻加载关联对象,且忽略FetchType.LAZY。
@Fetch(FetchMode.SELECT) 默认懒加载(除非设定lazy=false),在访问每一个关联对象时用Select查询加载。有n+1次查询。
@Fetch(FetchMode.SUBSELECT) 默认懒加载(除非设定lazy=false),在第一次访问关联对象时才一次性加载所有关联对象。共产生两条sql语句,且FetchType设定有效。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友294fc1c
推荐于2016-03-07 · TA获得超过635个赞
知道小有建树答主
回答量:366
采纳率:0%
帮助的人:266万
展开全部
1、FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载。

2、FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载。

3、比方User类有两个属性,name跟address,就像百度知道,登录后用户名是需要显示出来的,此属性用到的几率极大,要马上到数据库查,用急加载;而用户地址大多数情况下不需要显示出来,只有在查看用户资料是才需要显示,需要用了才查数据库,用懒加载就好了。所以,并不是一登录就把用户的所有资料都加载到对象中,于是有了这两种加载模式。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
好书阅读
2012-07-22
知道答主
回答量:80
采纳率:0%
帮助的人:38.2万
展开全部
不大清楚。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式