0

一个域Staff有一个User.

class Person {
      User user
}

class Staff extends Person {
      //other properties
}

class User {
      String username
      String password
}

我知道一个用户已登录,现在我想Staff通过相同的登录来查找UserUser从' 的角度来看,没有任何关系。

我正在实现的代码是:

def createdBy = User.get(springSecurityService.principal.id)
log.info("User id : "+createdBy.id) // it works
def staff = Staff.findByUser(createdBy) //it returns null

这不适用于 GORM 还是我遗漏了什么?

grails findBy 文档对 findByDomain() 没有任何说明。

4

1 回答 1

1

问题已关闭,因为错误是在插入未以正确方式发生的 a 时出现错误。(可怜的Staff没有通知我。)Usergrails

上面的代码完美运行。

def createdBy = User.get(springSecurityService.principal.id)
def staff     = Staff.findByUser(createdBy) 

Staff但是,同时实现了另一种以标准方式查找的方法:

    def createdBy = User.get(springSecurityService.principal.id)
    def staff     = staffCriteria.get{
        user{
            idEq(createdBy.id)
        }
    }
于 2013-08-20T21:54:20.660 回答