理解在Grails中的mappedBy

时间:2015-09-25 10:06:37

标签: grails

从grails文档中,我试图理解以下示例。

enter image description here

根据这两个域定义创建的表如下:

enter image description here

我在这里不明白的是在机场域中指定的mappedBy的目的是什么?谢谢您的帮助!

1 个答案:

答案 0 :(得分:1)

mappedBy用于知道另一侧应该用于hasMany关系的哪个关系(外键列)。只有在不明显的情况下才有必要。在上面的示例中,flights关系应使用departureAirportsmappedBy是必需的,因为destinationAirport也是Airport类/表的关系。如果在这种情况下省略mappedBy,则不清楚使用哪个关系,并且最终可能会得到由错误的外键列映射的关系。你可能很幸运,它选择了正确的,但它不是确定性的,它可能会导致意想不到的行为。

虽然没有它,代码生成的表看起来会一样。表格的应用程序使用/映射会有所不同。