import org.hibernate.Hibernate;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.metamodel.source.annotations.entity.ConfiguredClass;
import org.omg.CORBA.PRIVATE_MEMBER;
import oracle.net.aso.f;
public class HibernateUtil {
private static String HIBERNATE_CONFIG_FILE = "hibernate.cfg.xml";
private static SessionFactory sessionFactory = null;
private static ThreadLocal<Session> tl = new ThreadLocal<>();
private static Configuration configure = null;
static{
try {
configure = new Configuration().configure("HIBERNATE_CONFIG_FILE");
} catch (Exception e) {
e.printStackTrace();
System.out.println("核心装置安装失败");
}
try {
sessionFactory = configure.buildSessionFactory();
} catch (Exception e) {
e.printStackTrace();
System.out.println("C区以安放!");
}
}
private HibernateUtil(){
}
/**
* 获取session
* @return
*/
public static Session getsession(){
Session session = tl.get();
if(session == null){
session = sessionFactory.openSession();----这块是报异常的地方
tl.set(session);
}
return session;
}
/**
* 关闭session
*/
public static void closeSession(){
Session session = tl.get();
tl.set(null);
if(session != null){
session.close();
}
}
不知道哪里来的空指针异常求解
发现问题了,就是sessionFactory是null,说是hibernate.cfg.xml没有用到,这是怎么回事?
The value of the field HibernateUtil.HIBERNATE_CONFIG_FILE is not used。。怎么改?
if(session == null){
这个位置输出下sessionFactory 看看是否是null
session = sessionFactory.openSession();----这块是报异常的地方
tl.set(session);
}
看下 sessionFactory 这个是不是null