Grails 3 Anwendung - Ich hatte Probleme mit einer hasMany -Eigenschaft in Grails nicht bevölkern. Ich habe gerade festgestellt, dass die besitzende Klasse in einem anderen Paket ist als die eigene Klasse. Mache ich etwas albernes, indem ich über Paketgrenzen hinweg erzähle?Erlaubt Grails/GORM Beziehungen in separaten Java-Paketen?
Grund Beispiel dafür, was ich tue und das Beobachten, falls das keinen Sinn macht:
Owning Domain-Klasse:
package com.example.project
import com.example.project.configuration.ConfigFile
class MotherClass {
String name
static hasMany = [ configFiles: ConfigFile ]
}
Owned Domain-Klasse:
package com.example.project.configuration
import com.example.project.*
class ConfigFile {
String name
MotherClass motherClass
}
In Bootstrap.groovy:
MotherClass motherClass = new MotherClass(name:"mother").save(failOnError: true)
new ConfigFile(name: "file1", motherClass: mother).save(failOnError: true)
new ConfigFile(name: "file1", motherClass: mother).save(failOnError: true)
assert motherClass.configFiles.size() > 0 #this assertion would fail
In einem zufälligen Service:
assert MotherClass.findByName("mother").configFiles.size() > 0 #this would fail too.
versagt Meine Behauptung kann ich erlebe durch ein anderes Problem verursacht werden, aber ich wollte, war, dass die Überquerung Paketgrenzen überprüfen, nicht verantwortlich zu machen.
Ich refaktoriert das Kind in das gleiche Paket und das Problem bleibt bestehen. Also ich vermute, die Paketgrenze ist nicht das eigentliche Problem. Ich werde mehr Details hinzufügen, sobald ich die Antwort herausgefunden habe. –