如何定义如下关系: 一个人可以属于许多项目。一个人可以是项目的技术联系人,或者他们可以是项目的业务联系人,也可以是两者。如果该人被删除,项目不会被删除。如果项目被删除,则该人不会被删除。
class Project {
String name
Person technicalContact
Person businessContact
static constraints = {
}
}
class Person {
String firstName
String lastName
String email
String phone
String department
static constraints = {
}
}
答案 0 :(得分:1)
您可以在一个表格中拥有2个一对多
class Project {
String name
}
class Person {
String firstName
String lastName
String email
String phone
String department
static hasMany = [technicalContactForProjects: Project ,
businessContactForProjects: Project
]
}
Grails将自动从2 hasMany 创建2个关系表,因此您可以删除其关系而不删除实际的人或项目。