你是否正在寻找关于refreshlock的内容?让我把最完整的东西奉献给你:
发表时间:2006-11-10
相关知识库:
Java EE知识库
相关文章:
推荐群组: Hibernate
更多相关推荐
Hibernate
最近在做Hibernate的培训,过去一直用2.1.8现在用3.2,发现3.0.5有个BUG就是在refresh的时候!
一对多关联:
比如:通过Company--------Development为一对多双向关联情况来研究,。
一个公司有多个部门!
如果Company配映射文件Company.hbm.xml的class级别的lazy="true"以及Set的lazy="true"
用Company company= session.load(Company.class,1L)方法来得到company得到的是代理类对象 (此时company只有id)此后session关闭,如果用refresh(company)显然可以得到其他的属性(但是请注意集合),集合也就是自对象Development集合能不能拿到,本来我以为可以,但是这个地方要主义与集合的
cascade=""配制有关系,如果是cascade="all-delete-orphan"或cascade="all"可以拿到如果是cascade="save-update"不可以!但是离开session还是不可以用因为代理:
class级别的lazy="false"就可以了
refresh总结:refresh到底拿什么与cascade=""配制有关系
一般用来同步由于采用触发器等方式,个人不建议用这个方法:
lock大家非常清楚就是与cascade=""没有关系,直接同步本对象
initialize()是强行初始化对象个人觉得集合骗多!但是要注意在初始化集合主义,父对象的代理对象的属性说不上已经初始化!
个人习惯lock+initialize来得到session关闭有要拿子集合。
其实最关键就是session什么时间关闭,这个地方只是研究用法不去关心session到底拿到业务层还是WEB层
希望大家一起研究讨论
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
以上就是关于refreshlock的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-15589-1.html
封口费给的不少