Groovy强制映射到GroovyRowResult
我试图创建一个Groovy强制映射到GroovyRowResult,groovy,Groovy,我试图创建一个映射,并使用以下代码将其强制为GroovyRowResult: def a = [ x: 1, y: 2, my_column: "somevalue" ] as groovy.sql.GroovyRowResult if(a.opportunity_id) { println("VALUE " + a.my_column) } println("GOOD") 并查看if条件是否正常工作。我需要这样做,因为我想在在
映射
,并使用以下代码将其强制为GroovyRowResult
:
def a = [
x: 1,
y: 2,
my_column: "somevalue"
] as groovy.sql.GroovyRowResult
if(a.opportunity_id) {
println("VALUE " + a.my_column)
}
println("GOOD")
并查看
if条件
是否正常工作。我需要这样做,因为我想在在线游乐场中进行验证。当访问GroovyRowResult
上缺少的属性时,您将得到如下错误:
Caught: groovy.lang.MissingPropertyException: No such property: opportunity_id for class: groovy.sql.GroovyRowResult
groovy.lang.MissingPropertyException: No such property: opportunity_id for class: groovy.sql.GroovyRowResult
因此,仅仅从一个映射实例化一个新的GRR并不能使GRR表现得像一个映射(反之亦然)
您必须指定以后使用的所有内容。例如
def a = [
opportunity_id: 666, // XXX
my_column: "somevalue"
] as groovy.sql.GroovyRowResult
if (a.opportunity_id) {
println("VALUE " + a.my_column)
}
你还没问问题,我不知道问题出在哪里。FWIW,您尚未设置
a.opportunity\u id
。