如何打破继承
How to break inheritance
我正在使用 Grails。我正在尝试使用来自一个来源的值作为搜索另一个来源的方法。
def numbers=[];
//collection of Info maps
somemaps.each{
numbers.add(it.id);
}
//THIS IS THE LINE THAT GENERATES THE ERROR
def info=Info.findAll("from Info as i where i.site in (:xsites)",['xsites':numbers]);
但是我得到这个错误
Subtype 'java.lang.Integer' of reloadable type myservices.Info is not reloadable:
如何将 'numbers' 的值从 Info 中分离出来,使它们在继承链中不再具有该类型?
嗯,我的第一个问题是,Info 和 Site 之间是否存在关系。如果是这样,你为什么不尝试实际的标识符。如,
def info=Info.findAll("from Info as i where i.site.id in :xsites, ['xsites':numbers]");
或者更糟的是,使用 createCriteria
def info=Info.createCriteria().list{
site{
'in' ('id', numbers)
}
}
我正在使用 Grails。我正在尝试使用来自一个来源的值作为搜索另一个来源的方法。
def numbers=[];
//collection of Info maps
somemaps.each{
numbers.add(it.id);
}
//THIS IS THE LINE THAT GENERATES THE ERROR
def info=Info.findAll("from Info as i where i.site in (:xsites)",['xsites':numbers]);
但是我得到这个错误
Subtype 'java.lang.Integer' of reloadable type myservices.Info is not reloadable:
如何将 'numbers' 的值从 Info 中分离出来,使它们在继承链中不再具有该类型?
嗯,我的第一个问题是,Info 和 Site 之间是否存在关系。如果是这样,你为什么不尝试实际的标识符。如,
def info=Info.findAll("from Info as i where i.site.id in :xsites, ['xsites':numbers]");
或者更糟的是,使用 createCriteria
def info=Info.createCriteria().list{
site{
'in' ('id', numbers)
}
}