DeptInfo dept=(DeptInfo)hibernateTemplate.find("from DeptInfo where id = ?",1).get(0);
System.out.println(dept.getDeptName());
MajorInfo majorInfo = new MajorInfo();
majorInfo.setDeptId(dept);
majorInfo.setMajorName("信息管理技术");
majorInfo.setSortInfo("1");
hibernateTemplate.save(majorInfo);
hibernateTemplate.saveOrUpdate(majorInfo); /*Session session = HibernateUtils.getSession();
session.beginTransaction().begin();
DeptInfo dept=(DeptInfo)hibernateTemplate.find("from DeptInfo where id = ?",2).get(0);
System.out.println(dept.getDeptName());
MajorInfo majorInfo = new MajorInfo();
majorInfo.setDeptId(dept);
majorInfo.setMajorName("网络技术");
majorInfo.setSortInfo("1");
session.save(majorInfo);
session.getTransaction().commit();*/
注释部分是用普通Hibernate实现的,可以实现。上面的通过hibernateTemplate就无法保存,提示id冲突。。

解决方案 »

  1.   

    id冲突?你换一个ID 试试呢没看出别的问题
      

  2.   

    hibernateTemplate.save(majorInfo);
    hibernateTemplate.saveOrUpdate(majorInfo);
    为什么要save了,又saveorupdate
      

  3.   

    hibernateTemplate.save(majorInfo);
    hibernateTemplate.saveOrUpdate(majorInfo);
    有下面的就不要上面的了.下面的方法的含义你应该搞搞清楚.数据库中有了,就更新,没有就插入条新的
      

  4.   

    楼主去了sava 或者 换了id试试
      

  5.   

    楼主换个id或者去掉save方法试试,应该就没问题了!  
      

  6.   

    楼主去掉save方法就行了!!!