问题描述:
org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [category_type]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
错误提示:Duplicate entry '8' for key 'category_type'
解决方法:
由报错提示可以看出,是由于Duplicate entry '8' for key 'category_type'(category_type为8重复)导致的,即我数据库中设置了该字段是只能为唯一值的,而我数据库该表已有该字段为8的数据存在,导致数据添加失败,只需将该字段数据改成其他还未使用的值再重新添加运行程序即可。
如果不是上述解决方法里的问题导致的,也可参考下列的问题作为参考:
①可能是数据库字段varchar设置的值太少了,而你所设置的值太大,超过了它的限制,所以可以将数据库的该字段长度设置的长一点即可。
②可能是数据库的某字段不能为空,但是你所设置的该值为空,导致操作失败,只需给该值添加一个合理的不为空的值即可。
类似的原因还有很多,总的来说就是由于某个参数的设置和你需要操作时所设置的数据有冲突,导致操作失败,一般根据报错提示仔细检查代码并改正即可。