Grails / GORM员工薪酬

时间:2014-07-05 20:02:46

标签: grails gorm

我是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中的员工。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

通过查看您的代码,我可以假设Salary应该包含Person的标识符,而不是Employee

class Salary {
  Person person
  double salary
  Date from_date
  Date to_date
}

另一方面,如果您希望EmployeeSalary建立关系,则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