在这种方法中,我使用SessionFactory.openSession()
来获取休眠Session
:
public static Session getSession() {
Session session = null;
if (factory == null) {
session = initSessionFactory().openSession(); //initSessionFactory() returns SessionFactory object.
} else {
session = factory.openSession();
}
return session;
}
因为,方法SessionFactory#openSession()
抛出HibernateException
,那为什么我的方法不会抛出异常,为什么没有任何CompileTime错误?
答案 0 :(得分:4)
答案 1 :(得分:3)
因为HibernateException
是RuntimeException,就像NullPointerException
继承层次结构是
RuntimeException
- > NestedRuntimeException
- > HibernateException
答案 2 :(得分:0)
HibernateException
继承自RuntimeException
。您不必抓住或声明RuntimeExceptions
。
答案 3 :(得分:0)
HibernateException扩展了RuntimeException,因此使其成为未经检查的异常。