我有一个ORM映射,其中包含:
杂志对象 与流派有多对一的关系 以及与问题的一对多关系我有一个管理页面,显示基本杂志信息列表,杂志类型(从链接的流派对象查找)和当前存储的问题数量。
只需使用
即可EntityLoad('magazine');
...但是对控制台日志的一瞥就会显示它正在对杂志列表进行一次查询,查询每个不同类型名称的一个查询,以及每个杂志上的一个查询以加载该杂志的所有问题(只是得到计数!)。随着数据集变得越来越大,这将成为越来越大的性能影响。
当然,传统上我只有一个连接的SQL查询,它会在一个查询中返回我需要的所有数据。有没有办法在HQL中实现相同的目标,或者使用标准SQL查询会更好吗?
我看了一下HQL“SELECT”语法,但它不是非常用户友好,因为它返回带有特定命名列的查询作为数组数组,这对于...来说并不是特别令人愉快。 / p>
答案 0 :(得分:2)
可以帮助解决此问题的方法是使用提取策略。基本上,您可以使用连接为ORM提供获取相关记录的指令
您必须在一对多关系上设置fetch =“join”。
有关详细信息,请参阅: http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSE01EDE03-6E6B-4669-8C54-358460778450.html