2014-07-05 3 views
0

Я новичок в Grails, и я пытаюсь разработать веб-приложение. Я добился довольно приличного прогресса, пока не столкнулся с проблемой добавления нового сотрудника с новой зарплатой. У меня есть класс домена Person, класс домена Employee и класс домена Salary. Все они перечислены ниже.Заработная плата Grails/GORM

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 

Теперь, когда я создаю новый сотрудник, я не могу добавить в новую зарплату только для этого человека, только для сотрудников, которые уже в БД. Любая помощь будет оценена!

ответ

0

Изучив свой код, я могу предположить, что Salary должен содержать идентификатор Person, а не 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 
} 

Имейте в виду, что эти изменения будут влиять на вашу БД. Я рекомендую взглянуть на DB Migration.

Смежные вопросы