我有这张桌子:
table name : Account Fields : id (varchar), name(varchar), other fields...
我想使用hibernate机制查询该表(以使用第二个缓存级别)。hibernate查询的结果必须是一个哈希映射,其中键是字段ID,值是字段名称。
我如何用HQL编写它?
如果使用map,则只能使用别名,并且如果对对象使用构造函数,则必须将结果转换为hashmap,这非常耗时。
Example : Id | name | other fields 1 Jerome ... 2 Steve ... 3 Nick ...
查询的结果必须是hashmap:
1>Jerome 2>Steve 3>Nick
谢谢
这个问题很老,但这可能仍然可以帮助其他人。现在,您可以使用HQL返回带有hibernate状态的地图。使用这样的东西:
select new map( max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n ) from Cat cat
从hibernate文档中:http : //docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql- select