Я хорошо играю с Grails и нахожу вещи ORM утомительными, потому что я не до конца понимаю, что я делаю, когда речь идет о классах предметной области. Я надеюсь, что кто-то может вернуть меня на правильный путь
Рассмотрим следующее
Тестовое задание Один: много Оборудование, используемое на задании Многие: одно Физическое оборудование
... это аналог классического сценария 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