gpt4 book ai didi

java - hibernate : How to get Named SQL Query resultset as List 而不是 List

转载 作者:行者123 更新时间:2023-11-30 06:58:20 24 4
gpt4 key购买 nike

我在 hibernate 映射文件中写了一个命名的 sql 查询,它只返回不同表中的几列。

  <resultset name="employeeDetails">
<return-scalar type="timestamp" column="joinDate"/>
<return-scalar type="string" column="name"/>
<return-scalar type="string" column="department"/>
<return-scalar type="big_decimal" column="salary"/>
</resultset>

<sql-query name="getEmployeeDetails" resultset-ref="employeeDetails">
<![CDATA[
select ei.joinDate as joinDate, e.name as name, e.depatrment as department, e.salary as salary from Employee as e, Employee_Info as ei where ei.emp_id = e.id
]]>
</sql-query>

当我调用这个查询时。

   final Query query = session.getNamedQuery("getEmployeeDetails");
final List<Object[]> list = (List<Object[]>) query.list();

它返回对象数组列表。有什么方法可以将此结果集设置为以 columnName 为键并将其值设置为 Value 的 Map 列表。

最佳答案

Query query=session.createSQLQuery(query); 
query.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE);
List<Map<String,Object>> aliasToValueMapList=query.list();

关于java - hibernate : How to get Named SQL Query resultset as List<Map<columnName, Value> 而不是 List<Object[]>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32777289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com