我有这样的类结构:
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.
value(fieldMap)给我实例B的整个对象,因此它将给我类型为B的整个对象。
我想通过select子句选择b.value和b.type。
我尝试了(value(fieldMap))。value,(value(fieldMap))。getValue()但它不起作用。我试图进行搜索,但找不到任何东西。
最佳答案
尝试这个:
SELECT fieldMap.value, fieldMap.type
FROM A a join a.someFieldMap fieldMap
WHERE index(fieldMap) = 'xyz'
关于java - 在select子句中存储在map中的对象的Hibernate获取字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22490610/