【发布时间】:2011-01-15 09:05:24
【问题描述】:
我正在玩弄 Grails,发现 ORM 的东西很乏味,因为当涉及到域类时,我并不完全理解我在做什么。我希望有人能让我重回正轨
考虑以下
测试作业One:Many作业使用的硬件Many:One物理硬件
...这类似于在大学数据库示例中看到的经典 Order、OrderLine、Product 场景
我创建了以下域类
class Job
{
String jobName
String jobDescription
}
class HardwareOnJob
{
static hasMany = [ jobs:Job, physicalHardware:PhysicalHardware ]
static belongsTo = Job
String role
}
class PhysicalHardware
{
String assetName
String model
String os
}
我需要问的问题是,为什么 Grails 会在我的数据库中为我创建两个额外的表,而不是使用我定义的链接实体/域类。例如,Grails 在数据库中创建 hardware_on_job_job 和 hardware_on_job_physical_hardware。
使用脚手架控制器,我可以输入一些硬件,输入作业,然后输入将两者链接在一起。我的问题是它为什么要创建这两个额外的表,而不是使用我指定的域对象 (HardwareOnJob)。
非常感谢任何帮助/指导,因为看到这个并尝试新事物会发疯。顺便说一句,我使用的是 grails 1.2.1 版
【问题讨论】:
标签: hibernate grails many-to-many grails-orm ejb-3.0