我倾向于结合使用 冬眠和 春天框架及其声明性事务划分功能(例如,@ Transactional)。
众所周知,休眠试图成为作为 非侵入性的和作为 透明的尽可能,但这证明了 更有挑战性时,使用 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
关系的影响时,您首选的方法是什么?
(对于 沃特我很抱歉)