ConstraintViolationException VS DataIntegrityViolationException
我正在编写一个Spring应用程序,看来当我遇到数据库错误时,有时候会抛出Hibernate的ConstraintViolationException
,有时会抛出Spring的DataIntegrityViolationException
。 有没有理由抛出一个而不是另一个呢? 他们的意思是不同的事情?
如果通过HibernateTemplate
执行Hibernate调用,那么Spring会将任何Hibernate异常(例如ConstraintViolationException
)转换为Spring异常层次结构(例如DataIntegrityViolationException
)。 如果你不使用HibernateTemplate
,那么原生的Hibernate异常将会通过。 两者都是RuntimeExceptions
,所以不需要明确的异常处理,所以你会看到哪一个并不总是很明显。
上一篇: ConstraintViolationException VS DataIntegrityViolationException
下一篇: Are Gang of four design patterns Programming language independent?