ColdFusion 10 - ORM Child Object Search&计算

时间:2013-11-25 18:58:33

标签: orm coldfusion coldfusion-10

已经在CF10中定义了ORM非常简单的关系。我们的温度传感器在tempSensor对象中定义了多对一关系。

tempSensors ORM持久性组件

id_tempSensor - PK currentReading - 整数值 id_Space - 低于PK的多对一关系

空格ORM持久性组件

id_space - PK name - 字符串 description - string

我想用这种关系做两件事:

  1. 在'spaces'组件中编写一个函数,该函数返回映射到它的所有tempSensors对象的数组。对结果进行排序/排序并不重要;如有必要,我们可以使用标准CF阵列功能重新订购。

  2. 在'spaces'组件中编写一个函数,用于计算映射到该空间的所有tempSensors中的平均温度读数。因此,如果有五个临时传感器映射到该空间,请将所有当前临时读数相加,除以5并返回结果。

  3. 我已经全神贯注地寻找#1的简单解决方案,也许HQL可以定义一个简单的查询?

    我认为HQL可能是#2中最快和最有效的,因为我们直接进入持久层,而不是在CF中返回结果,实例化对象并对CF对象运行算法。

1 个答案:

答案 0 :(得分:0)

  1. 如果在类型数组的属性sensors上定义Space的一对多关系,那么您要查找的函数只是返回传感器数组的getTempSensors()。

  2. 一旦你有#1工作,只需循环遍历数组并计算你的平均温度。

  3. http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WS5FFD2854-7F18-43ea-B383-161E007CE0D1.html#WSDDE3349B-ECE1-450d-B5B1-0BCACDCC6736