【发布时间】:2014-05-09 04:44:21
【问题描述】:
我正在尝试在我的域类中编写公式,以帮助我创建标准。
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”。
我的标准是:
Date myDate = Calender.instance.time
def results = MyClass.createcriteria().list{
lt('appointmentTime', date+1)
ge('appointmentTime', date)
projections {
groupProperty('ddmmyy')
count('id')
}
}
知道为什么我会因此获得例外吗?
【问题讨论】:
-
请注意,ORM DSL 中表示的公式是 SQL,因此对其他属性的引用应该与持久性模型而不是对象模型相关,这就是为什么该示例是错误的,因为它引用了约会时间而不是APPOINTMENT_TIME
标签: grails grails-orm grails-2.0 grails-domain-class grails-services