因为从性能和理解的角度来看,在视图层中发送可能未初始化的代理(尤其是集合)并从那里触发hibernate加载可能会造成麻烦。
了解:
使用OSIV会“污染”视图层,使其与数据访问层有关。
视图层没有准备好处理@H_301_7@HibernateException延迟加载时可能发生的事件,但是大概是数据访问层。
性能:
OSIV倾向于在地毯下拖拉适当的实体负载-你往往不会注意到你的集合或实体是延迟初始化的(也许是N + 1)。更多便利,更少控制。
Java为什么将View中的Hibernate Open Session视为不良做法?
因为从性能和理解的角度来看,在视图层中发送可能未初始化的代理(尤其是集合)并从那里触发hibernate加载可能会造成麻烦。
了解:
使用OSIV会“污染”视图层,使其与数据访问层有关。
视图层没有准备好处理@H_301_7@HibernateException延迟加载时可能发生的事件,但是大概是数据访问层。
性能:
OSIV倾向于在地毯下拖拉适当的实体负载-你往往不会注意到你的集合或实体是延迟初始化的(也许是N + 1)。更多便利,更少控制。