Cómo optimizar esta consulta GORM

Tengo una consulta que hace 2 consultas de base de datos. Soy nuevo en GORM y no sé cómo optimizarlo en 1 consulta utilizando criterios, o una cláusula donde o alguna otra cosa. También estoy usando springsecurity y tengo una clase de usuario para la seguridad de inicio de sesión. Tengo una clase de perfil con un objeto de usuario:

class Profile {
   User user
}

En mi controlador la sesión almacena el ID de usuario. Cuando quiero cargar el perfil para actualizarlo, mi código es actualmente:

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

He intentado algunas variaciones de consulta a través de prueba y error, pero parece que no puedo encontrar una que no genere un error. Esto parece que sería trivial. La pseudo consulta sería "consígame el perfil para el perfil.usuario que tiene este ID de usuario".

Respuestas a la pregunta(2)

Su respuesta a la pregunta