之前在项目中使用的Spring的jdbcTemplate直接执行sql语句的,由于客户方要求sql全部写到hibernate配置文件,则改用Hibernate的Query执行SQL语句,从文件读取。最终查询结果使用阿里巴巴的fastjson转换json,这样就需要标准的List<Map>才可以,但Hibernate使用Query.list()获取到的结果集,调试查看可以看到是List<Object>类型的,转换JSON全部变成了数组,而且只有值,没有键。
在网上查找资料,发现Hibernate查询可以直接设置结果值类型为List<Map<String,Object>>,方法是在执行query.list()或者其他查询方法之前,
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);

本文介绍如何使用Hibernate执行SQL查询并获取Map类型的集合结果,以便于转换为JSON格式。通过设置resultTransformer为ALIAS_TO_ENTITY_MAP,可以确保查询结果符合JSON转换的要求。
621

被折叠的 条评论
为什么被折叠?



