【发布时间】:2014-05-30 04:52:29
【问题描述】:
好的,我想知道实现我的方案的最佳方法是什么。
我的对象如下:
ProjectCategory 有许多项目。项目有一个 ProjectStatus。 ProjectStatus 有一个名为 name 的属性,名称可以是“Closed”或“Open”等...
我正在尝试在页面上显示所有类别以及类别名称旁边为该类别打开的项目数。
我将如何去做。我看到的问题是(使用 grails gorm)默认情况下你不能做类似
category.findAll{ it.status.name == "Opened" }.size()
因为对象没有加载那么深。现在如果我强迫他们加载,现在对于所有类别,我可能会加载一堆项目只是为了获得状态。您拥有的项目数量越多,系统的性能是否会受到巨大影响?
每当项目状态发生变化时,在类别中创建一个计数器并更新它的想法让我感到畏缩。
我一定只是被剥夺了睡眠,因为我看不出这样做的正确方法是什么。如果我首先提到的 .findAll 方法是要走的路,我真的需要担心性能吗?我将如何实施?
提前感谢您的帮助。
【问题讨论】:
标签: grails lazy-loading grails-orm eager-loading