java.sql.BatchUpdateException: Duplicate entry '2' for key 3
    at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:648)

看看你的数据库哪些字段是不允许重复的,错误信息是不允许重复的字段有重复了。
不过mysql字符编码设置不正确,有的时候也会出现这个错误。

解决方案 »

  1.   

    at com.goobo.web.action.privilege.EmployeeManageAction.regEmployee(EmployeeManageAction.java:232)
    找到这个位置,不知道你的232行在哪,你找出来
      

  2.   

    key 3指的是第三个列吗?看看你数据库的表定义,第三个列是什么,这个列unique约束了吗
      

  3.   

    EmployeeManageAction.java:232   是 employeebean.save(employee);
      

  4.   

    小弟准备学习Hibernate,兄弟如果你愿意等我五天之内给你一个答案
      

  5.   

    在你的配置文件里面有个<one-to-many>标签里面有个inverse属性,你把这个设置为true就行了。
    学习hibernate 要掌握 好inverse与cascade这两个属性,这种问题就不会出现了。
      

  6.   

    也就是说你在:
    employeebean.save(employee)的时候,与employee关联的那个对象在数据库中的状态不对应,不知道你能不能理解,要详细说太多了,只希望能给你点提示,到百度上去找吧,希望你能解决。
      

  7.   

    是不是主键ID是自增的 而你插入数据的时候还插入主键ID了
      

  8.   

    inverse是表示它们的关联关系交由谁去维护,一般交由多一端去维护。