So optimieren Sie diese GORM-Abfrage
Ich habe eine Abfrage, die 2 Datenbankabfragen macht. Ich bin neu in GORM und weiß nicht, wie ich es anhand von Kriterien, einer where-Klausel oder etwas anderem in eine Abfrage optimieren soll. Ich verwende auch springsecurity und habe eine Benutzerklasse für die Anmeldesicherheit. Ich habe eine Profilklasse mit einem Benutzerobjekt:
class Profile {
User user
}
In meinem Controller speichert die Sitzung die Benutzer-ID. Wenn ich das Profil zum Aktualisieren laden möchte, ist mein Code derzeit:
def user = User.get(springSecurityService.principal.id) // 1st db query
def domainObject = Profile.findByUser(user) // 2nd db query
Ich habe ein paar Abfragevarianten durch Ausprobieren ausprobiert, kann aber scheinbar keine finden, die keinen Fehler erzeugt. Dies scheint trivial zu sein. Die Pseudo-Abfrage würde lauten: "Hol mir das Profil für den profile.user, der diese Benutzer-ID hat".