public class HibernateSessionFactory {
private static final ThreadLocal threadLocal = new ThreadLocal();
private static final Configuration cfg = new Configuration() .configure();
private static SessionFactory sessionFactory;
public static Session currentSession() throws HibernateException {
Session session = threadLocal.get();
if (session == null || session.isOpen() == false) {
if (sessionFactory == null) {
try {
sessionFactory = cfg.buildSessionFactory();
} catch (Exception e) {
e.printStackTrace();
}
}
session = sessionFactory.openSession();
threadLocal.set(session);
}
return session;
}
改成上面部分,其他不变。
是的,Hibernate 3.x没有ServiceRegistry,就是简单的去掉即可,而且,Hibernate.cfg.xml在classpath路径下默认名字,也可以不用写入参数。