san*_*vi7 3 grails grails-orm grails-domain-class grails-2.0 grails-services
我正在尝试在我的域类中编写公式,这有助于我创建标准。
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)')
}
}
Run Code Online (Sandbox Code Playgroud)
每当我尝试在我的标准中使用此字段时,它都会抛出错误,即无法解析“myClass”的属性“ddmmyy”。
我的标准是:
Date myDate = Calender.instance.time
def results = MyClass.createcriteria().list{
lt('appointmentTime', date+1)
ge('appointmentTime', date)
projections {
groupProperty('ddmmyy')
count('id')
}
}
Run Code Online (Sandbox Code Playgroud)
知道为什么我会因此获得例外吗?
您需要使这些字段成为非瞬态的,以便在条件中使用。参见参考文档
http://gorm.grails.org/6.1.x/hibernate/manual/#drivenProperties