对于以下域模型:
class Route {
String name
static hasMany = [checkPoints:CheckPoint]
static belongsTo = [someBigObject:SomeBigObject]
static mapping = {
checkPoints lazy: false
}
}
Route
我需要从 Web 服务返回一个特定的 JSON。我希望这个 JSON 包含所有checkPoints
但不包含其他组合(即:)someBigObject
。
如果我做
def route = Route.findById(id)
render route as JSON
我得到的只是 的 id checkPoints
,没有获取其他字段:
{
"class": "com.example.Route",
"id": 1,
"checkPoints": [
{
"class": "CheckPoint",
"id": 1
},
{
"class": "CheckPoint",
"id": 2
},
{
"class": "CheckPoint",
"id": 4
},
{
"class": "CheckPoint",
"id": 3
}
],
"someBigObject": {
"class": "SomeBigObject",
"id": 2
}
}
但如果我这样做
JSON.use('deep') {
render route as JSON
}
我得到了一切。我的意思是,几乎所有的数据库都是通过各种关系获取的。
有没有办法在不手动创建 jsonMaps 的情况下做到这一点?