没有在grails / java中始终获得对象id

时间:2010-07-13 14:54:35

标签: java hibernate grails

我正在尝试在生成新发票时向客户发送电子邮件。但要做到这一点,我需要得到发票和客户的ID。我的问题是,我用来获取发票或客户的ID的代码给了我不一致的响应,我的意思是它有时会起作用,有时它不会

这是相关代码:

protected Map getObjectsMap(Map domainMap){
    Map objectsMap = [:]
    domainMap.each{key,value->
        def dc = grailsApplication.domainClasses.find{it.getFullName().equals(key)}
        def obj = dc.clazz.get(value)
        if(!obj)
            log.error "Could not find object of type $key with id=$value"
        String objectName = key.substring(key.lastIndexOf(".")+1)
        objectName = objectName.charAt(0).toLowerCase().toString() + objectName.substring(1)
        objectsMap.put(objectName, obj)
    }
    return objectsMap
}
我在作为参数传递的domainMap中的

我将类的完整名称和对象的id作为Map传递。并使用上面的代码我想得到该类的对象与该ID,以便我可以得到其他属性,我将返回一个对象的地图,其类名作为键。任何理由为什么它不是表现一致。

1 个答案:

答案 0 :(得分:0)

我很困惑,您是在脚本中还是在应用程序中执行此操作?为什么不

def invoices = MyInvoiceDomainClass.findAll()
invoices.each{invoice->
   invoice.whatever...
}