首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate架构最佳实践

Hibernate架构最佳实践
EN

Stack Overflow用户
提问于 2011-10-29 21:47:37
回答 1查看 399关注 0票数 0

最近,由于网格加载缓慢,我不得不对性能问题进行故障排除。经过调查,似乎有人使用了List<Product>来填充网格。问题是,Product有很多属性,其中许多是not.lazyloads(),其中大多数甚至不需要网格。

因此,为了解决这个问题,我创建了一个名为ProductLite的新对象,它只有延迟加载,大部分关于联接的关键信息,现在性能都很好。它没有执行10,000分贝的点击,而是达到了1。

我对SO社区的问题,你是如何建模你的对象的?我认为所有对象都应该有一个“细节”和“信息”版本,因为有时需要密集的对象加载。即。ProductDetails将包含所有信息,而不是在列表中使用,而ProductInfo只会携带用于列表、快速查找等的高级信息。

是否有一个标准已经被采用作为对象建模的最佳实践?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-29 22:57:35

这里的问题是,您将域模型对象与DTO/Presentation对象混淆。

我通常不愿意将任何准则视为“最佳实践”,但以下是一些一般性建议:

  • 域对象应为每个表一个(不考虑继承)
  • 不应在映射中禁用延迟加载。关于这方面的好文章
  • 对实体和集合使用合理的batch-size设置(经验规则:使用页面大小)
  • 使用缓存,至少对大多数只读对象使用缓存。
  • 当不需要编辑对象时,如果确实需要加载许多对象的几个字段,则使用投影(匿名、类型化、对象数组等)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7941925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档