Практическая.Таким образом, вам не нужно оборачивать каждую из ваших операций, касающихся Hibernate, в блоки try try.
Взято из Java Persistence с Hibernate:
История исключений - исключения и какони должны обрабатываться всегда и заканчиваться жаркими спорами между разработчиками Java.Неудивительно, что у Hibernate есть и примечательная история.До Hibernate 3.x все исключения, генерируемые Hibernate, были проверенными исключениями, поэтому каждый API Hibernate заставлял разработчика перехватывать и обрабатывать исключения.На эту стратегию повлиял JDBC, который также выбрасывает только проверенные исключения.Однако вскоре стало ясно, что это не имеет смысла, потому что все исключения, выдаваемые Hibernate, являются фатальными.Во многих случаях лучшее, что может сделать разработчик в этой ситуации, - это очистить, отобразить сообщение об ошибке и выйти из приложения.Поэтому, начиная с Hibernate 3.x, все исключения, генерируемые Hibernate, являются подтипами неконтролируемого исключения времени выполнения, которое обычно обрабатывается в одном месте в приложении.Это также делает устаревшим любой шаблон Hibernate или API-интерфейс.