在grails/java中无法一致地获取对象id
每当生成新发票时,我都会尝试向客户发送电子邮件。但要做到这一点,我需要获得发票和客户的id。我的问题是,我用来获取发票或客户ID的代码给了我不一致的响应,我的意思是它有时有效,有时无效 以下是相关代码:在grails/java中无法一致地获取对象id,java,hibernate,grails,Java,Hibernate,Grails,每当生成新发票时,我都会尝试向客户发送电子邮件。但要做到这一点,我需要获得发票和客户的id。我的问题是,我用来获取发票或客户ID的代码给了我不一致的响应,我的意思是它有时有效,有时无效 以下是相关代码: protected Map getObjectsMap(Map domainMap){ Map objectsMap = [:] domainMap.each{key,value-> def dc = grailsApplication.domainClas
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中,我作为Map传递类的完整名称和对象的id。使用上面的代码,我希望获得该类的对象,并使用该ID,这样我就可以使用它的其他属性,并且我将返回一个对象映射,并将它们的类名作为键。有什么原因可以解释为什么它的行为不一致。我很困惑,你是在脚本中还是在应用程序中这样做的?为什么不呢
def invoices = MyInvoiceDomainClass.findAll()
invoices.each{invoice->
invoice.whatever...
}
我很困惑,您是在脚本中还是在应用程序中执行此操作?为什么不呢
def invoices = MyInvoiceDomainClass.findAll()
invoices.each{invoice->
invoice.whatever...
}