一个关于hibernate fetch的问题 10
classone{privateStringname;privateList<two>er;}classtwo{privateStringname;privateList...
class one{
private String name;
private List<two> er;
}
class two{
private String name;
private List<three> san;
}
class three{
private String name;
}
我想问一下,在hibernate中如果我fetch one类里的er属性的话是不是连two里的san属性也会一起fetch,也就是fetch是不是级联的,谢谢了 展开
private String name;
private List<two> er;
}
class two{
private String name;
private List<three> san;
}
class three{
private String name;
}
我想问一下,在hibernate中如果我fetch one类里的er属性的话是不是连two里的san属性也会一起fetch,也就是fetch是不是级联的,谢谢了 展开
2个回答
展开全部
对于使用,是这样的。不需要你关心如何取的。
追问
再问一个小问题哈,就是当一个对象成为一个持久化对象时,如果它有一个属性也是个对象,它会不会也成为持久化对象啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-01-09
展开全部
要看你的hbm文件里面看是由关联属性上的lazy和fetch属性来决定的,根据不同的组合和你采用的get方法或者是hql直接查一共有24种不同的情况,每种情况产生的sql的时机和内容都是不一样的,讲起来比较复杂
如果关于fetch的层次,还有一个max_fetch_depth参数可以限制你所说的级联fetch的层次,一般都设置为1~5,fetch的size很决定性能,因为要连接多张表,这也是hibernate被很多人诟病的原因
如果关于fetch的层次,还有一个max_fetch_depth参数可以限制你所说的级联fetch的层次,一般都设置为1~5,fetch的size很决定性能,因为要连接多张表,这也是hibernate被很多人诟病的原因
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询