今日工作:
问题及解决:
1、在做单元测试中设置属性的时候出现空指针异常信息,这是属性没初始化导致的:
private Set<Product> products = new HashSet<Product>();
2、hibernate的多表查,获取属性的时候,数据转换异常,Hibernte从Oracle的数据库查询
出来的数据属性是BigDecimal类型的,在转换Integer的时候,数据转换异常。需要注意下处理的格式:
for (Object[] li: list) {
Object[] obj = li;
// for (Object o : obj) {
productInDetail = new ProductInDetail();
productInDetail.setProductName((String)obj[1]);
productInDetail.setInDetailId(((BigDecimal)obj[2]).intValue());
productInDetail.setPositionId(((BigDecimal)obj[3]).intValue());
productInDetail.setQty(((BigDecimal)obj[4]).intValue());
productInDetail.setInListId(((BigDecimal)obj[5]).intValue());
productInDetail.setProductId(((BigDecimal)obj[6]).intValue());
productInDetail.setAreaId(((BigDecimal)obj[7]).intValue());
productInDetail.setDepotId(((BigDecimal)obj[8]).intValue());
productInDetail.setAreaName((String)obj[9]);
productInDetail.setDepotName((String)obj[10]);
productInDetail.setPositionName((String)obj[11]);
productInDetails.add(productInDetail);
// System.out.println("输出:"+o);
System.out.println(productInDetail);
// }
}
注意类型的转换问题,不然一直是报错。
明日计划:抽时间完成入库操作