代码之家  ›  专栏  ›  技术社区  ›  Brandon Yarbrough

ConstraintViolationException与DataIntegrityViolationException

  •  7
  • Brandon Yarbrough  · 技术社区  · 16 年前

    我正在编写一个Spring应用程序,当我遇到数据库错误时,有时会休眠 ConstraintViolationException 被抛出,有时是春天的 DataIntegrityViolationException 被扔掉。有没有一个会被扔而另一个不会被扔的原因?他们的意思不同吗?

    1 回复  |  直到 16 年前
        1
  •  4
  •   skaffman    16 年前

    如果您通过 HibernateTemplate ,然后Spring将转换任何休眠异常(例如 ConstraintViolationException )进入Spring异常层次结构(例如 DataIntegrityViolationException )如果你不使用 模板类 ,则本机休眠异常将通过。两者都是 RuntimeExceptions ,所以不需要显式的异常处理,所以不总是很明显您将看到哪个异常。