Я играю с 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