【发布时间】:2013-06-03 06:13:58
【问题描述】:
我使用命名查询返回List<?>。但现在我有一个要求,我必须返回一个Map<key,value>,以便我可以使用密钥过滤重复项..
我有一个命名查询来返回产品名称的List<String>,
<named-query name="FETCH_ACTIVE_PRODUCTS_NAME" >
<query>SELECT product.name FROM Product product
WHERE product.name LIKE :name
</query>
</named-query>
另一个命名查询,用于获取产品描述的 List<String>,
<named-query name="FETCH_ACTIVE_PRODUCTS_DESC" >
<query>SELECT product.desc FROM Product product
WHERE product.desc LIKE :desc
</query>
</named-query>
另一个按产品名称获取产品 ID 的命名查询
<named-query name="FETCH_ACTIVE_PRODUCTS_ID_BY_NAME" >
<query>SELECT product.id FROM Product product
WHERE product.name LIKE :name
</query>
</named-query>
现在我必须返回一个带有键和值的Map<Long,String>。键包含产品 ID,值包含产品名称和描述。键不应包含重复值(即重复的产品 ID)..
现在我的问题是如何在命名查询中返回Map<Long,String>..我没有得到谷歌的帮助...
任何人都有关于如何做到这一点的想法..
【问题讨论】:
-
你在使用spring-hibernate吗?
-
是的,我正在使用 spring-hibernate..你知道如何做到这一点吗?
-
据我所知,您必须通过循环来创建地图。因为在 Hibernate 中查询只返回列表。
标签: java hibernate named-query