次のドメイン モデルの場合:
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 を手動で作成せずにこれを行う方法はありますか?