Jak zoptymalizować to zapytanie GORM

Mam zapytanie, które tworzy 2 zapytania do bazy danych. Jestem nowym użytkownikiem GORM i nie wiem, jak zoptymalizować go do 1 zapytania za pomocą kryteriów lub klauzuli where lub czegoś innego. Używam również springsecurity i mam klasę User dla bezpieczeństwa logowania. Mam klasę profilu z obiektem użytkownika:

class Profile {
   User user
}

W moim kontrolerze sesja przechowuje identyfikator użytkownika. Kiedy chcę załadować profil, aby go zaktualizować, mój kod jest obecnie:

def user = User.get(springSecurityService.principal.id) // 1st db query
def domainObject = Profile.findByUser(user) // 2nd db query

Próbowałem kilku odmian zapytań metodą prób i błędów, ale nie mogę znaleźć takiego, który nie generuje błędu. To wydaje się trywialne. Pseudo-zapytaniem byłoby „dostać profil dla użytkownika profile.user, który ma ten identyfikator użytkownika”.

questionAnswers(2)

yourAnswerToTheQuestion