什么是在Spring MVC应用程序中处理延迟加载对象的最佳解决方案?我已经对这个主题进行了一些搜索,找到了以下解决方案:
使用“打开视图会话”:为每个请求打开一个会话,并在视图渲染后关闭它。这种解决方案的问题在于,我还需要在Spring MVC模型之外(例如Junit测试用例)也进行延迟加载对象。另一个讨论该解决方案的问题是异常处理。如果事务在视图渲染期间抛出异常怎么办?
显式地打开会话:每当需要延迟加载对象时显式地打开会话。实际上,这个解决方案应该是可行的,但我认为这不是正确的方法。
使用AOP:创建一个方面,在会话中包装延迟加载方法。这可能是一个解决方案,但我不知道在我的应用程序的哪个级别定义Poitcuts。
创建自定义查询:为延迟加载和急切加载分别创建查询。这个解决方案实际上是可行的,但在我看来,它似乎是延迟加载模式的错误应用。
使用“打开视图会话”:为每个请求打开一个会话,并在视图渲染后关闭它。这种解决方案的问题在于,我还需要在Spring MVC模型之外(例如Junit测试用例)也进行延迟加载对象。另一个讨论该解决方案的问题是异常处理。如果事务在视图渲染期间抛出异常怎么办?
显式地打开会话:每当需要延迟加载对象时显式地打开会话。实际上,这个解决方案应该是可行的,但我认为这不是正确的方法。
使用AOP:创建一个方面,在会话中包装延迟加载方法。这可能是一个解决方案,但我不知道在我的应用程序的哪个级别定义Poitcuts。
创建自定义查询:为延迟加载和急切加载分别创建查询。这个解决方案实际上是可行的,但在我看来,它似乎是延迟加载模式的错误应用。