繁体   English   中英

使用休眠的“ EGER”从我的数据库中获取所有产品太慢

[英]fetching all product from my data base too slow with hibernate “EGER”

嗨,我使用JPA休眠作为持久性框架,我班上所有fetc类型的属性都是EAGER,所以当我试图从我的数据库中查找所有产品时,它花了15秒,太慢了:(是否有解决方案可以加快它,我想让我所有的产品都具有所有依赖关系,我的mysql数据库上只有80行,这是否一直都是逻辑吗?我可以控制这种类型的提取吗?我正在使用EJB3.0,会话productSession是无状态的,我正在使用命名查询@NamedQuery(name =“ Produit.findAll”,查询=“从Produit a中选择a”)

如果将所有关联都设置为渴望,则显然会花费很多时间,因为在加载产品时,必须获取其类别。 以及该类别的创建者。 和创造者的兄弟。 还有兄弟的女儿。 和女儿的陪​​伴。 和市公司。 还有城市的国家,等等。我什至不谈论很多协会。

只是不要将所有内容都设置为渴望加载。 并使用适当的HQL查询仅加载您感兴趣的内容。如果关联设置为eager,则将始终加载该关联。 如果将其设置为lazy,则可以在需要时使用HQL或Criteria查询热切地获取它。

阅读有关联接HQL文档 ,尤其是获取联接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM