如果您在Spring源代码中搜索DataIntegrityViolationException的构造函数的调用者,则会发现它是在调用的
org.springframework.orm.hibernate3.SessionFactoryUtils:
return new DataIntegrityViolationException(ex.getMessage() + "; SQL [" + jdbcEx.getSQL() + "]; constraint [" + jdbcEx.getConstraintName() + "]", ex);
null是JDBC异常返回的约束的名称。因此,您应该责怪MySQL驱动程序没有在JDBC异常中填充违反的约束名称。但是违反的约束可以是任何约束,而不一定是
notnull约束。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)