Я новичок в Граале.У меня проблема сейчас в моих классах домена.У меня есть 3 класса домена, класс Пациент , класс Медсестра и класс NursePatient , класс NursePatient представляет собой составной ключ, в котором можно увидетькто является обслуживающей медсестрой у пациента, поэтому если вы просматриваете ее таблицу, вы можете видеть только идентификаторы медсестер и пациентов.Это мой код для Nurse класса:
class Nurse {
String name
Nurse partner
boolean idle = true
static belongsTo = [hospital: Hospital]
static constraints = {
name(blank:false)
partner(nullable:true)
hospital(nullable:false)
}
String toString(){
"Nurse ${name}"
}
}
-> и это мой класс домена для NursePatient :
class NursePatient implements Serializable{
Nurse nurse
Patient patient
static mapping = {
version false
id composite:['nurse', 'patient']
}
static constraints = {
patient(nullable:false, validator:{val, obj -> val.hospital == obj.nurse.hospital})
nurse(nullable:false)
}
String toString(){
"Nurse ${nurse.name} - ${patient.name}"
}
void saveIt(Nurse x, Patient y){
def np = new NursePatient(nurse: x, patient: y)
if(np.save()){
def n = nurse.get(nurse.id)
n.idle = false
}
}
}
-> Меня попросили напечатать список медсестер, у которых нет пациента.Я думал, что в момент сохранения в таблице с помощью метода saveIt () из класса NursePatient , после успешного выполнения save () значение изменится насвойство простоя класса медсестра с истина до ложь , так что запросы намного проще.Моя проблема заключается в том, что мой код в классе NursePatient правильный, или можно изменить значение свойства из другого класса.Пожалуйста, помогите мне .. спасибо !!