我有两个具有简单的一对多关系的域类(一个礼物可以有多个GiftInstance),如下所示。我希望检索给定用户的所有过期(可能还有其他条件),但根据与每个GiftInstance关联的Gift的‘GiftInstances’属性对结果进行排序。我该如何做到这一点呢?我更希望停留在Grails (动态查找器、条件等)的范围内,而不必执行原始SQL
class Gift {
String name;
String description;
Date expires;
}
class GiftInstance {
static belongsTo = [gift: Gift]
User user;
... other fields ...
}发布于 2012-04-11 06:42:06
您可以通过mapping in your domain class通过两种方式完成此操作。
在Gift类中设置排序和顺序,如下所示:
class Gift {
String name;
String description;
Date expires;
static hasMany = [giftInstances: GiftInstance]
static mapping = {
giftInstances sort: "expired"
}
}或者在您的GiftInstance域类中。
class GiftInstance {
static belongsTo = [gift: Gift]
User user
boolean expired
static mapping = {
sort: "expired"
}
}是的,您还可以设置顺序。
发布于 2012-04-11 12:57:07
可以在GiftInstance中添加命名查询
class GiftInstance {
static namedQueries = {
giftInstanceByUser { user ->
eq 'user', user
order 'gift.expires', 'asc'
}
}
}https://stackoverflow.com/questions/10097243
复制相似问题