#grails #grails-orm
#grails #grails-orm
Вопрос:
Я новичок в Grails и пытаюсь разработать веб-приложение. Я добивался довольно приличного прогресса, пока не столкнулся с проблемой добавления нового сотрудника с новой зарплатой. У меня есть класс домена Person, класс домена Employee и класс домена Salary. Все они перечислены ниже.
class Person {
String firstName, lastName
String email
String phoneNumber
Employer employer
}
class Employee extends Person {
Date birthdate
JobTitle jobTitle
static hasMany = [salary: Salary]
}
class Salary {
Employee employee
double salary
Date from_date
Date to_date
Теперь, когда я создаю нового сотрудника, я не могу добавить новую зарплату только для этого человека, только для сотрудников, которые уже есть в базе данных. Мы будем признательны за любую помощь!
Ответ №1:
Глядя на ваш код, я могу предположить, что он Salary
должен содержать Person
идентификатор s вместо Employee
.
class Salary {
Person person
double salary
Date from_date
Date to_date
}
С другой стороны, если вы хотите Employee
поддерживать отношения с Salary
, то hasMany
свойство должно быть:
class Person {
String firstName, lastName
String email
String phoneNumber
Employer employer
}
class Employee extends Person {
Date birthdate
JobTitle jobTitle
static hasMany = [salary: Salary]
}
class Salary {
Employee employee
double salary
Date from_date
Date to_date
}
Имейте в виду, что эти изменения повлияют на вашу базу данных. Я рекомендую взглянуть на миграцию БД.