我倾向于将Hibernate与Spring框架结合使用,并使用声明式事务划分功能(例如@Transactional).
众所周知,hibernate试图尽可能地非侵入性和透明性,但是这在使用关系时证明更具挑战性lazy-loaded.
我看到了许多具有不同透明度的设计方案.
fetchType=FetchType.EAGER)
Hibernate.initialize(proxyObj);
initialize,但是其他实现并不能保证提供任何等价物.Model对象本身(使用动态代理或@Transactional)
loadData()和loadDataWithDeps()
loadDataWithA(),....,loadDataWithX()byId()操作
findZzzById(zid)然后getYyyIds(zid)而不是z.getY()loadData(id, fetchProfile);
我错过了任何选择吗?
在尝试最小化lazy-loaded应用程序设计中关系的影响时,哪种方法是您首选的方法?
(哦,对不起WoT)