我正在尝试将项目切换到Hibernate。问题是在某些地方我们依赖于ResultSet的列顺序。但是查询如下:
List<Map<String, Object>> rows = session.createSQLQuery("select * from names")
.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP).list();
给我一个地图列表,其中对的顺序是未定义的。也就是说,“id”的对可以显示为最后一个,而它在表中是第一个... 如何按原样SQL中的顺序获取列名?
答案 0 :(得分:1)
我遇到了同样的问题。
帮助我的是以下stackoverflow问题: How to get an order Map wih AliasToEntityMapResultTransformer ?
通过扩展AliasToEntityMapResultTransformer,您可以为LinkedHashMap切换HashMap并保留查询结果的顺序。