4
有沒有辦法強制調用存儲過程得到的結果行到一個特定的對象,所以我可以只將該對象的列表傳遞到視圖?我知道我可以使用像Node.list()這樣的東西來做到這一點,但我最終將用一個相當複雜的存儲過程來替換getnodes(),該存儲過程創建臨時表並執行一些優化的sql fu。但現在我只是在研究Grails的交互。強制結果行到對象
所以在MySQL方面,我有以下存儲過程:
CREATE DEFINER=`root`@`255.255.255.255` PROCEDURE `getnodes`()
BEGIN
select * from node;
END
在Grails的控制器我有以下幾點:
def nodes = new ArrayList<Node>()
// collect all the nodes returned
sql.eachRow("{call getnodes()}") {
nodes.add(it as Node)
}
println "Nodes size is: " + nodes.size()
nodes.eachWithIndex { d, i ->
println "$i : $d"
}
我的計劃是這樣,節點傳遞給視圖。
的問題是,它上線炸燬:
nodes.add(it as Node)
這甚至可能嗎?我的意思是這應該只是脅迫吧?我究竟做錯了什麼?
我最終只是用Node.get(it.id)查找每個節點, – TheBigS 2010-01-06 11:40:33