MongoDB的GORM:派生属性?

时间:2016-10-03 17:26:04

标签: mongodb grails gorm

我正在尝试建立一个比较添加两个字段的派生属性值的标准,如图所示 Can I do a math operation inside a createCriteria,即

class SumFormula {
    Integer column1
    Integer column2
    Integer sum

    static mapping = {
       sum formula: 'column1 + column2'
    }
}

和标准:

SumFormula.createCriteria().list() {
    ne("sum", 100)
}

但是我无法使用MongoDB。打印输出时,derived属性始终为null。

上面提到的帖子确实提到派生属性是SQL表达式,所以问题是只有GORM for SQL可用的派生属性? GORM for MongoDB的其他选择吗?

2 个答案:

答案 0 :(得分:1)

派生属性是Hibernate / SQL特有的功能,GORM for MongoDB不支持。另一种方法是在代码中执行此操作:

class SumFormula {
   Integer column1
   Integer column2
   Integer getSum() { column1 + column2 }

}

答案 1 :(得分:0)

我们面临着同样的问题。目前,我们的解决方法是在MongoDB中实际存储派生属性,并使用beforeUpdate方法来计算值。

def beforeUpdate() {
    sum = column1 + column2
}