我有一个查询,它进行 2 个数据库查询。我是 GORM 的新手,不知道如何使用条件或 where 子句或其他东西将其优化为 1 个查询。我也在使用 springsecurity 并且有一个用于登录安全的 User 类。我有一个带有 User 对象的 Profile 类:
class Profile {
User user
}
在我的控制器中,会话存储用户 ID。当我想加载配置文件以更新它时,我的代码当前是:
def user = User.get(springSecurityService.principal.id) // 1st db query
def domainObject = Profile.findByUser(user) // 2nd db query
我通过反复试验尝试了一些查询变体,但似乎找不到不会产生错误的查询变体。这似乎是微不足道的。伪查询将是“获取具有此用户 ID 的 profile.user 的配置文件”。