Hibernate本机查询中colums的安全顺序

时间:2017-03-24 12:40:36

标签: native

我正在尝试将项目切换到Hibernate。问题是在某些地方我们依赖于ResultSet的列顺序。但是查询如下:

List<Map<String, Object>> rows = session.createSQLQuery("select * from names")    
.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP).list();

给我一​​个地图列表,其中对的顺序是未定义的。也就是说,“id”的对可以显示为最后一个,而它在表中是第一个... 如何按原样SQL中的顺序获取列名?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。

帮助我的是以下stackoverflow问题: How to get an order Map wih AliasToEntityMapResultTransformer ?

通过扩展AliasToEntityMapResultTransformer,您可以为LinkedHashMap切换HashMap并保留查询结果的顺序。