2012-10-29 31 views
0

我有以下查詢:阿帕奇扭矩嵌套查詢

select * from situation s where s.version = 
(select max(ss.version) from situation ss where ss.situationKey = s.situationKey) 

而且我想它編碼爲扭力的標準。這裏的主要問題是子查詢通過情景關鍵字與主查詢鏈接。我沒有在任何地方發現這種情況下記錄,是否有可能在Torque中執行此查詢?

+0

看來這是不可能的 - 扭矩不是很有表現力。它必須在原始SQL中完成。一件好事是Torque可以通過BasePeer.populateObjects()自動將獲取的行轉換爲對象。 – Marcin

回答

0
Criteria nestedCriteria = // Your nested criteria 
String nested = BasePeer.createQueryString(nestedCriteria); 
String col = // Your Peer Column, in this case "SituationPeer.VERSION" 
criteria.add(col, (Object) (col + " in (" + nested + ")"), Criteria.CUSTOM); 

您的查詢似乎引用從內部選擇的外部選擇。你可能不得不添加一個別名來做到這一點。不確定,但Torque確實具有嵌套選擇功能。