我是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
现在,当我创建一名新员工时,我无法仅为该人员添加新工资,仅适用于已在DB中的员工。任何帮助将不胜感激!
答案 0 :(得分: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。