我有3个班级
class Company {
String company_name
}
class Job {
String job_name
Company company
}
class Person {
String person_name
Job job
}
我如何检查某个职位是否真的存在于现有公司并且它是空的(没有人在其上)或者换句话说现有的公司当然存在Job对象,但是没有人在他的构造函数中通过这个Job对象,这就是我所做的,我的错误在哪里?
if (person==null && job != null && company != null)
{
def query=Job.where{company.company_name == company_name && job_name == job_name}
def query2=Person.where {job.job_name == job_name}
if( query == null && query2 != null )
{
def person12 = new Person(job: job, person_name: person_name)
if (person12.validate() && person12.save())
{
redirect(url: "https//localhost:8080")
}
}
答案 0 :(得分:0)
如果可能,我会以其他方式关联这些类:
class Company {
String company_name
static hasMany = [jobs: Job]
}
class Job {
static belongsTo = [company: Company]
static hasOne = [person: Person]
String job_name
}
class Person {
String person_name
static belongsTo = [job: Job]
}
然后您可以创建一个标准来了解某个工作是否与人无关。
List<Job> jobs = Job.withCriteria{
eq('company', companyObject)
isNull('person')
}
在保存对象之前不需要验证它,导致它在之前自动验证,如果它无效,则返回false。
if (person12.save()) {
redirect(url: "https//localhost:8080")
}