当前位置: 代码迷 >> SQL >> hibernate调用sql添as
  详细解决方案

hibernate调用sql添as

热度:16   发布时间:2016-05-05 11:07:15.0
hibernate调用sql加as

问题:

程序使用hibernate调用sql语句,发现不加as时结果A表的code和B表的code内容一致。

加了as之后现象消失

//代码片段final int PAGE_NUMBER = 300;			int size = itemIds.size();			int j = MyUtils.getSize(size,PAGE_NUMBER);  			for(int k = 0; k < j ; k++){				int toIdnex = MyUtils.getIndex(k,size,PAGE_NUMBER);				List<Object> ret = MyUtils.getList(itemIds, k, toIdnex,PAGE_NUMBER);				//bcFristSj-no2				sql = "select v1.item_id as p0,"+						" v1.boxtype1_id as p1,v1.first_package_box_quty as p2,"+//--一级包装						" v1.box_material_id1 as p3,v1.box_material_quantity1 as p4,"+//--包材1						" v1.box_material_id2 as p5,v1.box_material_quantity2 as p6,"+//--包材2						" v1.box_material_id3 as p7,v1.box_material_quantity3 as p8,"+//--包材3						" v1.box_material_id4 as p9,v1.box_material_quantity4 as p10,"+//--包材4						" v1.box_material_id5 as p11,v1.box_material_quantity5 as p12,"+//--包材5						" v1.box_material_id6 as p13,v1.box_material_quantity6 as p14,"+//--包材6						" v1.box_material_id7 as p15,v1.box_material_quantity7 as p16,"+//--包材7						" v1.min_split_quty as p17,"+//--最小拆分量						" v1.boxtype2_id as p18,"+//--二级包装						" v2.code as p19,"+//一级包装code						" v3.code as p20"+						" from wms_item_to_customer v1"+						" left join wms_box_type v2 on v2.id = v1.boxtype1_id"+						" left join wms_item v3 on v3.id = v1.item_id"+						" where v1.item_id in("+StringUtils.substringBetween(ret.toString(), "[", "]")+")"+						" and v1.customer_id = ?"+						" and v1.status = 'ENABLED'";				query = session.createSQLQuery(sql);				query.setLong(0, customerOrder.getCustomer().getId());				List<Object[]> listItemToCustomer = query.list();				//NO5:对客户物料关系查询结果进行匹配,获取所需一级包装和相应包材量				Map<Long,Double> box2 = new HashMap<Long,Double>();				for(Object[] obj : listItemToCustomer){					Long itemId = Long.parseLong(obj[0].toString());                                  //..........................

?DEGUB模式进入后发现数据如下

[207632, 201966, 120, 200848, 1, null, 0, null, 0, null, 0, null, 0, null, 0, null, 0, 120, 201966, SGMSB111, SGMSB111]

而实际结果应该是

[207632, 201966, 120, 200848, 1, null, 0, null, 0, null, 0, null, 0, null, 0, null, 0, 120, 201966, SGMSB111, 9010511]

?

  相关解决方案