我正在使用 Hibernate 3 编写一个 Web 应用程序。
所以,过了一会儿,我注意到有些东西很慢。所以我测试了hibernate profiler,发现hibernate会为简单的操作进行不合理的许多db调用。原因当然是我加载了一个对象(这个对象有几个“父母”),而这些“父母”还有其他“父母”。所以基本上休眠会加载它们,即使我只需要基本对象。好的,所以我研究了延迟加载。这导致我进入延迟加载异常,因为我有一个 MVC webapp。
所以现在我有点困惑,什么是我最好的方法。基本上我只需要更新对象上的单个字段。我已经有了对象键。
我应该: 1. 深入研究延迟加载。然后重写我的应用程序以获得开放会话视图?2. 深入研究延迟加载。然后重写我的道更具体。例如,编写 DAO 方法将返回实例化的对象,这些对象只包含每个用例所需的内容?可能是很多额外的方法... 3. 从头开始休眠并自己做?4. 现在真的想不出其他解决方案。有什么建议么?
最佳做法是什么?