我正在尝试建立一个比较添加两个字段的派生属性值的标准,如图所示 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的其他选择吗?
答案 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
}