У меня есть следующие доменные классы в Grails 2.3.11. Они сопоставляются с устаревшими таблицами базы данных, которые нельзя изменить. Оба класса имеют общий идентификатор pidm
:
class Person {
Long pidm
String firstName
String middleName
Bio bio
static mapping = {
id name: 'pidm', generator: 'assigned'
bio column: 'pidm'
}
}
class Bio {
Long pidm
String ssn
String gender
Date birthDate
static mapping = {
id name: 'pidm', generator: 'assigned'
}
}
В таблице Bio
нет отдельного столбца person_id
или чего-то подобного. Должно быть однозначное сопоставление через pidm
.
В настоящее время единственный способ заставить это работать — добавить updateable: false, insertable: false
к bio
в блоке mapping
. Что делать, если я хочу обновить и/или вставить экземпляр Bio? Есть ли лучший способ сделать это и поделиться столбцом pidm
в качестве идентификатора для класса Person И в качестве ссылки на Bio?