حدد جميع الأحداث من شهر في الشجر
سؤال
أنا جديد في غروفي / وجواب، وأنا أحاول القيام بمعايير البحث التي تجد جميع المشاركات لمدة شهر، مثل هذا بشكل أساسي:
def getUserMinutesForYear(User user, Date date){
Date firstDate = new GregorianCalendar(date.year, Calendar.JANUARY, 1, 0, 0, 0).time
Date lastDate = new GregorianCalendar(date.year, Calendar.DECEMBER, 31, 23, 59, 59).time
def c = JobRegistration.createCriteria()
def minutes = c.get {
and{
eq("user.id", user.id)
between("job.happening", firstDate, lastDate)
}
projections {
sum("minutesWorked")
}
}
return minutes
}
فصول المجال هي
class Job {
String title
String description
Date happening
static hasMany = [registrations:JobRegistration]
}
class User {
static hasMany = [authorities: Role, registrations: JobRegistration]
static belongsTo = Role
String username
}
class JobRegistration {
Job job
User user
Integer minutesWorked
static belongsTo = [user:User,job:Job]
static constraints = {
user(blank: false)
job(blank:false)
minutesWorked(nullable :true)
}
String toString(){
return user.userRealName
}
}
الآن، لماذا أحصل على هذا الاستثناء؟
org.codehaus.groovy.runtime.invokerinvoceocexceptionExceptionException: Org.hibernate.queryException: تعذر حل العقار: Job.happening: JobRegistration
المحلول
تحتاج إلى عش علاقة الوظيفة (يمكنك أيضا الولايات المتحدة فقط مع المستخدم):
def minutes = c.get {
and{
eq("user", user)
job{
between("happening", firstDate, lastDate)
}
}
projections {
sum("minutesWorked")
}
}
في صحتك
لي
لا تنتمي إلى StackOverflow