已经在CF10中定义了ORM非常简单的关系。我们的温度传感器在tempSensor对象中定义了多对一关系。
id_tempSensor - PK currentReading - 整数值 id_Space - 低于PK的多对一关系
id_space - PK name - 字符串 description - string
我想用这种关系做两件事:
在'spaces'组件中编写一个函数,该函数返回映射到它的所有tempSensors对象的数组。对结果进行排序/排序并不重要;如有必要,我们可以使用标准CF阵列功能重新订购。
在'spaces'组件中编写一个函数,用于计算映射到该空间的所有tempSensors中的平均温度读数。因此,如果有五个临时传感器映射到该空间,请将所有当前临时读数相加,除以5并返回结果。
我已经全神贯注地寻找#1的简单解决方案,也许HQL可以定义一个简单的查询?
我认为HQL可能是#2中最快和最有效的,因为我们直接进入持久层,而不是在CF中返回结果,实例化对象并对CF对象运行算法。
答案 0 :(得分:0)
如果在类型数组的属性sensors
上定义Space的一对多关系,那么您要查找的函数只是返回传感器数组的getTempSensors()。
一旦你有#1工作,只需循环遍历数组并计算你的平均温度。