我正在尝试在我的域类中编写公式,这有助于我创建标准。
class MyClass {
//some fields
Date appointmentTime
String ddmmyy
int year
int month
int day
static transients = [
'ddmmyy',
'year',
'month',
'day'
]
static mapping= {
ddmmyy formula('DATE_FORMAT(appointmentTime)')
year formula('YEAR(appointmentTime)')
month formula('MONTH(appointmentTime)')
day formula('DAYOFMONTH(appointmentTime)')
}
}
每当我尝试在我的标准中使用此字段时,它会抛出错误,即无法解析'myClass'的属性'ddmmyy'。
MyCriteria是:
Date myDate = Calender.instance.time
def results = MyClass.createcriteria().list{
lt('appointmentTime', date+1)
ge('appointmentTime', date)
projections {
groupProperty('ddmmyy')
count('id')
}
}
知道为什么我会为此获得例外吗?
答案 0 :(得分:2)
您需要将这些字段设置为非瞬态才能在条件中使用。见参考文件
http://gorm.grails.org/6.1.x/hibernate/manual/#derivedProperties