奇怪的数据插入错误Could not execute JDBC batch update?
最近学习struts+spring+hibernate开发模式,出现了这样的问题:
框架配置好后,向数据库表插入一条记录成功,再次插入记录时报错,
并且只能在启动web服务器后进行一次插入操作,再插入就报错,错误信息如下:
exception
javax.servlet.ServletException: Hibernate operation: Could not execute JDBC batch update; SQL [insert into T_FILE (FILE_NAME, FILE_CONTENT, REMARK, FILE_ID) values (?, ?, ?, ?)]; Duplicate entry '402866810e3d3185010e' for key 1; nested exception is java.sql.BatchUpdateException: Duplicate entry '402866810e3d3185010e' for key 1
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:75)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause
org.springframework.dao.DataIntegrityViolationException: Hibernate operation: Could not execute JDBC batch update; SQL [insert into T_FILE (FILE_NAME, FILE_CONTENT, REMARK, FILE_ID) values (?, ?, ?, ?)]; Duplicate entry '402866810e3d3185010e' for key 1; nested exception is java.sql.BatchUpdateException: Duplicate entry '402866810e3d3185010e' for key 1
.......
其中T_FILE表的主键为FILE_ID,在hibernate配置文件中的生成方式为uuid.hex,
为什么第二次插入数据时key的值没有变呢,还是上次插入的??