日期:2014-05-17  浏览次数:20706 次

null id 异常报错。。求救

//解析excel 文件
......

for (int i = 1; i < sheet.getRows(); i++) {

// 创建一个数组 用来存储每一列的值
String[] str = new String[sheet.getColumns()];

// 列数
for (int j = 0; j < sheet.getColumns(); j++) {
// 获取第i行,第j列的值
cell = sheet.getCell(j, i);
str[j] = cell.getContents();
}

 if(str.length>0){
 Datil datil = new Datil();
 datil.setDatetail(str[0]);
 datil.setTalktime(str[1]);
 datil.setGrade(str[2]);
 datil.setZname(str[3]);
 datil.setTelephoneid(str[4]);
 datil.setTname(str[5]);
 datil.setSex(str[6]);
 datil.setAge(str[7]);
 datil.setRecord(str[8]);
 datil.setWorkstate(str[9]);
 datil.setZone(str[10]);
 datil.setCoursecategories(str[11]);
 datil.setQqnumber(str[12]);
 datil.setBackresult(str[13]);
 datil.setTimeagain(str[14]);
 datil.setNote(str[15]);
 datil.setCreateperson(str[16]);
 datil.setResource(str[17]);
 datil.setKeyword(str[18]);
 datil.setAccesspath(str[19]);
 datil.setTalkingpage(str[20]);
 datil.setConcerns1(str[21]);
 datil.setConcerns2(str[22]);
 datil.setConcerns3(str[23]);
 datil.setUsers(users);

 // 这个地方测试  数据时成功拿到的
 System.out.println(datil);
 
 try {
this.getHibernateTemplate().save(datil);
 flg = 1;
} catch (DataAccessException e) {
e.printStackTrace();
}
 }
}



就是save方法报错,
org.hibernate.AssertionFailure: null id in com.lzbdqn.missaiti.entity.Datil entry (don't flush the Session after an exception occurs)...

项目SSH框架搭建,datil 表主键是自增,里面有个用户表users的外键uid,配置文件检查了下,感觉也没有什么问题。 写了个测试类,可以成功加入数据。但是这个地方就是加不进去。
hibernate 配置文件中,users 表 和datil 表  为双向一对多的关系。。

我也贴出来,哪位高手帮忙看看。




哪位大侠一救  感激不尽。。

------解决方案--------------------
datil.setUsers(users);
这里的users应该是从数据库里面查询出来的持久态对象。users的uid要确保有值