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]

猜你喜欢

转载自minyongcheng.iteye.com/blog/2144691
今日推荐