Я новичок в Grails и в настоящее время пытаюсь отобразить класс Employee.Каждый сотрудник может иметь или не иметь менеджера.Также у каждого сотрудника (если он менеджер) будет список подчиненных.Отображение до такой степени было относительно легко с hasMany и принадлежит статическим массивам.Однако мой пример имеет дополнительную сложность.У меня есть 3 столбца в классе моего сотрудника:
- id (первичный ключ)
- ldapId (идентификатор из устаревшей системы ldap)
- managerLdapId (менеджеридентификатор связи из прежней системы).
Мой класс Employee на данный момент выглядит следующим образом -
class Employee {
String firstname
String lastname
String email
String ldapId
Employee manager
static hasMany = [subordinates: Employee]
static belongsTo = [manager: Employee]
}
Проблема заключается в том, что я хочу отобразить мои отношения hasMany с помощью ldapIdполе, но Grails по умолчанию это поле id.Я мог бы сделать поле ldapId в качестве первичного ключа, но поле id также существует, и это естественный первичный ключ для этой таблицы.
Я знаю, что в hibernate была опция, которую мы могли указать при определении отношений «многие к одному».Это был атрибут property-ref, который позволял сопоставлять отношения со столбцом, отличным от первичного ключа.Есть ли такая собственность для Грааля?Если да, то как это можно реализовать?
Подводя итог, мне нужно знать, как отобразить связи hasMany с ключом, отличным от первичного ключа для этой таблицы.