首页 > 解决方案 > i want to get alias column name and value in java spring hibernate

问题描述

  String mainQuery = "select x as CONDITION_"+i+" from xyz";
  SQLQuery sqlQuery = this.getSession().createSQLQuery(mainQuery);

from this query i will get allias column like

  CONDITION_x
  ------------
  value_x(anything)

here x is int value it will increment 0,1,2...

From this i want Json like ,

 [ 
   { 
     "CONDITION_0" :"value",
     "CONDITION_1" :"value"
   }
 ]

And this is in spring hibernate. Please help,TIA.

标签: spring

解决方案


使用 hibernateResultTransformer将 SQLQuery 结果转换为Map<k,v>对象,其中查询中的别名列名作为k-key和行值作为v-value

String mainQuery = "select x as CONDITION_"+i+" from xyz";
SQLQuery sqlQuery = this.getSession().createSQLQuery(mainQuery);
List<Map<String,Object>> result = sqlQuery.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP).list();

通过这个,你可以得到你所期望的 json 结果。


推荐阅读