为什么hibernate将HibernateException更改为(未选中)RuntimeException

时间:2011-01-05 22:31:20

标签: java hibernate exception

我知道在某些版本中,Hibernate异常被更改为未选中。是什么原因?这是一个哲学问题还是实践问题?

1 个答案:

答案 0 :(得分:17)

实践。因此,您不必在try catch块中包含有关Hibernate的每个操作。

来自Java Persistence with Hibernate:

  

例外历史 - 例外   以及如何处理它们   最终在Java之间激烈争论   开发人员。这并不奇怪   Hibernate有一些值得注意的历史   同样。直到Hibernate 3.x,全部   Hibernate引发的异常是   检查异常,所以每个Hibernate   API迫使开发人员抓住并且   处理异常。这个策略是   受JDBC影响,这也引发了   仅检查异常。但是,它   很快就明白,这不是   有道理,因为所有例外   Hibernate引发的是致命的。在很多   案例,开发人员可以做的最好的事情   这种情况是清理,显示   一条错误消息,然后退出   应用。因此,从   Hibernate 3.x,抛出所有异常   Hibernate是子类型的   未经检查的运行时异常,即   通常在一个地方处理   在一个应用程序中这也使得任何   Hibernate模板或包装器API   过时。