2014-03-18 21 views
0

在我的階級結構是這樣的對象領域:休眠獲取存儲在地圖中的SELECT子句

Class A { 

    private HashMap<\String, B> someFieldMap = // Retrieves some map 

    //getter for someFieldMap 

    //setter for someFieldMap 

} 

B是具有以下結構的自定義類。現在

class B { 

    private String type; 
    private String value; 

    //getters and setters for the above fields 

} 

,我試圖寫一個HQL來檢索B類

select value(fieldMap) from A a join a.someFieldMap fieldMap 
where index(fieldMap) = 'xyz' //index(fieldMap) will give me the Key of the map. 

值(fieldMap)的值給我實例B的整個對象,因此它會給我的整個對象的類型是B.

我想通過select子句選擇b.value和b.type。我試過(value(fieldMap)).value,(value(fieldMap))。getValue(),但它不起作用。我試圖搜索這個,但找不到任何東西。

回答

0

試試這個:

SELECT fieldMap.value, fieldMap.type 
FROM A a join a.someFieldMap fieldMap 
WHERE index(fieldMap) = 'xyz'