gehört zu mehreren Domänen

Ich habe 4 Klassen, Vorfälle, Probleme, Anfragen und eine weitere ist Attachment.

Jede Domain sieht aus wie .........

    Class Incidents
    {
   //other fields
       static hasOne = [attachment: Attachment]

       static constraints = [attachment nullable:true]
    }

    Class Problems
    {
   //other fields
       static hasOne = [attachment: Attachment]

       static constraints = [attachment nullable:true]
    }

    Class Requests
    {
   //other fields
       static hasOne = [attachment: Attachment]

       static constraints = [attachment nullable:true]
    }

    Class Attachment
    {
   //other fields
       static belongsTo= [
                   incident: Incidents, 
                   problem: Problems,
                   requests: Requests
]

   static constraints = {
        incident nullable: true
        problem nullable: true
        requests nullable: true
}

Wenn ich ein Ereignisobjekt speichere, löst es eine Ausnahme aus, wie die Spalte 'problem_id' nicht null sein kann. was ist zu tun?

2
hinzugefügt bearbeitet
Ansichten: 1

1 Antworten

Versuchen Sie, die hasOne bei Vorfällen, Problemen und Anfragen der Klasse zu entfernen und ersetzen Sie sie mit

   Attachment attachment
   static constraints = {attachment: unique: true, nullable:true}       
   static mapping = {
    attachment  cascade: "delete"
    }
5
hinzugefügt
Wenn ich diese Beziehung entferne, wird es mir erlauben, die Kaskade zu löschen?
hinzugefügt der Autor sanghavi7, Quelle
Ja, Mann Es funktioniert gut, danke
hinzugefügt der Autor sanghavi7, Quelle
Versuchen Sie beim Kaskadenlöschvorgang das Kaskaden-Mapping hinzuzufügen. Ich habe die Antwort aktualisiert.
hinzugefügt der Autor Fabiano Taioli, Quelle