Java Grails Groovy-获取一对多关系的最小和最大日期
我的域类在MyClass和Event之间具有一对多关系:Java Grails Groovy-获取一对多关系的最小和最大日期,java,grails,groovy,Java,Grails,Groovy,我的域类在MyClass和Event之间具有一对多关系: class MyClass { String name Date firstEvent Date lastEvent static hasMany = [events : Event] } class Event { String name Date dateCreated static belongsTo = [indicator : Indicator] } 设置firstEvent以反映关联事件的最小
class MyClass {
String name
Date firstEvent
Date lastEvent
static hasMany = [events : Event]
}
class Event {
String name
Date dateCreated
static belongsTo = [indicator : Indicator]
}
设置firstEvent以反映关联事件的最小值(dateCreated)和lastEvent以反映最大值(dateCreated)的最佳方法是什么
也许有一种方法可以在控制器中访问此数据,而不必将其包含在域类中
谢谢你的帮助。我是grails的新手:)应该可以
class MyClass {
static hasMany = [events : Event]
static namedQueries = {
firstEvent {
events{
projections{
min 'dateCreated'
}
}
}
lastEvent {
events{
projections{
max 'dateCreated'
}
}
}
}
}
致电:
Date first = myClassIntance.firstEvent().get()
将字段创建为瞬态,并改用getter。请看-这几乎正是您所需要的虽然这是一种有效的方法,但这个答案并没有给出一个完整的示例,说明如何使用namedQuery实现它,并且应该进行增强。否则,这是一个低质量的“仅链接”答案。您可以考虑给出一些使用名称查询解决问题的例子。谢谢。我试着实施奥尔德林的建议,效果很好。我也可以尝试这种方法来比较:)