gpt4 book ai didi

grails - 使用executeUpdate()删除-grails

转载 作者:行者123 更新时间:2023-12-02 14:15:02 25 4
gpt4 key购买 nike

我现在遇到问题,我有2个域类,即 Doctor Patient ,它们之间的关系为1:m。这是我的类的代码医生

class Doctor {

String name
String specialization

def doctorService

static hasMany = [patients: Patient]
static belongsTo = [hospital: Hospital]


static constraints = {

name(blank:false)
specialization(blank:false)
patients(nullable:true)
hospital(nullable:false)
}

String toString(){

"Doctor ${name} "

}

}

->这是我的 类的代码:
class Patient {

String name
String ailment
int age
Date dateAdmit, dateDischarge

static belongsTo = [doctor: Doctor, hospital: Hospital]

static constraints = {

name(blank:false, maxSize:100)
ailment(blank:false)
age(size:1..200)
dateAdmit(nullable:true)
dateDischarge(nullable:true)
hospital(nullable:false)
doctor(nullable:false, validator:{val, obj -> val.hospital == obj.hospital})

}

String toString(){

"${name} "

}
}

->
我想使用 executeUpdate()删除没有 患者医生。我可以使用像这样的动态查找器来选择 医生而没有 患者
_
def d = Doctor.findAll("from Doctor as d where not exists" +
"(from Patient as p where p.doctor = d)")

_
似乎该语法在 executeUpdate()中不起作用,我只是grails中的新手。请帮助我..谢谢...

最佳答案

用这个:

Doctor.executeUpdate('delete from Doctor d where d.patients is empty')

关于grails - 使用executeUpdate()删除-grails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8908233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com