我正在使用Hibernate 3编写Web应用程序。
过了一段时间,我发现某些操作很慢。因此,我测试了Hibernate分析器,并发现Hibernate会为简单操作进行不合理的数据库调用。原因当然是因为我加载一个对象(该对象有几个“父级”),而这些“父级”有其他“父级”。因此,基本上Hibernate会加载它们所有,即使我只需要基本对象。 好吧,所以我研究了延迟加载。这使我遇到了Lazyloading-exception,因为我有一个MVC WebApp。
现在我有点困惑,不知道最好的方法是什么。 基本上,我只需要更新对象上的单个字段。我已经有了对象键。
我应该: 1. 深入研究延迟加载。然后为开放会话视图重新编写我的应用程序? 2. 深入研究延迟加载。然后重写我的数据访问层(DAO)更具体。例如编写DAO方法,将为每个用例实例化只需要的对象?可能会有很多额外的方法...... 3. 放弃Hibernate自己做? 4. 真的想不出其他解决方案。有任何建议吗?
什么是最佳实践?
过了一段时间,我发现某些操作很慢。因此,我测试了Hibernate分析器,并发现Hibernate会为简单操作进行不合理的数据库调用。原因当然是因为我加载一个对象(该对象有几个“父级”),而这些“父级”有其他“父级”。因此,基本上Hibernate会加载它们所有,即使我只需要基本对象。 好吧,所以我研究了延迟加载。这使我遇到了Lazyloading-exception,因为我有一个MVC WebApp。
现在我有点困惑,不知道最好的方法是什么。 基本上,我只需要更新对象上的单个字段。我已经有了对象键。
我应该: 1. 深入研究延迟加载。然后为开放会话视图重新编写我的应用程序? 2. 深入研究延迟加载。然后重写我的数据访问层(DAO)更具体。例如编写DAO方法,将为每个用例实例化只需要的对象?可能会有很多额外的方法...... 3. 放弃Hibernate自己做? 4. 真的想不出其他解决方案。有任何建议吗?
什么是最佳实践?