Hibernate Hibernate 的官方包好象没有这个类。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我在书上看的。原话是:HIBERNATE官方提供的HibernateUtil类包含两个静态方法,分别用于打开session和关闭session. 对啊 我在写好程序后,也说无法解析hibernateUtil 这个类要自己写的吗? package dao;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;/* *java静态语句快: 静态代码块只会执行一次,一般会用来初始化一些值,并且在所有对象中全局共享。 * sessionfactory 对象是重量级的对象,共创建过程 比较耗时及占用资源,可以将其理解主是一个生产session的工厂 * 当需要对象 时从些工厂获得即可,所在整 个过程中的应用过程中最好只创建一次。对程序而方session是应用非常频繁的,如果用到session对象就 * 去创建一个sessionfactory对象,将会对程序的性能产生一定的负作用,因此在hibernate初始化类中应将sessionfactory对象的创建置于静态中,实现在程序 * 的应用过程中只创建一次,从而节省资源的占用。但session对象并不是纯种安全的,在涉及到多线程问题时,应借助于threadlocal对象进行管理 * * * */public class HibernateUtil { private static final SessionFactory sessionFactory; //使用ThreadLocal管理Session private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>(); static { try { //根据hibernate.cfg.xml建立SessionFactory sessionFactory = new Configuration().configure("/hibernate.cfg.xml").buildSessionFactory(); } catch (Throwable ex) { System.err.println("建立SessionFactory错误" + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } public static Session getSession() throws HibernateException { Session session = (Session) threadLocal.get(); if (session == null || !session.isOpen()) { session = (sessionFactory != null) ? sessionFactory.openSession(): null; threadLocal.set(session); } return session; } public static void closeSession() throws HibernateException { Session session = (Session) threadLocal.get(); threadLocal.set(null); if (session != null) { session.close(); } }} 这个类是自己写的 ,我把源代码放上啦,你参考一下。 lz你太可爱了。。那个所谓的hibernateUtil 其实就是hibernateFactory在创建的时候改了个名字 分享J2EE三大框架技术一枚 TYPE_SCROLL_SENSITIVE对upate更新,不支持??? applicationContext.xml 里使用aop命名空间出错 hiberante3的通用dao,不用spring的 ant build 时遇见的奇怪问题 咨询eclipse某个功能模块的源代码在哪里 介绍几本j2ee的书籍 jfreechart折线图XYSeries数据问题 初学JAVA,编译一个简单的I/O程序出错,请指教。谢! jdeveloper的安装问题 还是tomcat内存回收的问题 tomcat 内存 溢出的问题求解 zk+spring+hibernate
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;/*
*java静态语句快: 静态代码块只会执行一次,一般会用来初始化一些值,并且在所有对象中全局共享。
* sessionfactory 对象是重量级的对象,共创建过程 比较耗时及占用资源,可以将其理解主是一个生产session的工厂
* 当需要对象 时从些工厂获得即可,所在整 个过程中的应用过程中最好只创建一次。对程序而方session是应用非常频繁的,如果用到session对象就
* 去创建一个sessionfactory对象,将会对程序的性能产生一定的负作用,因此在hibernate初始化类中应将sessionfactory对象的创建置于静态中,实现在程序
* 的应用过程中只创建一次,从而节省资源的占用。但session对象并不是纯种安全的,在涉及到多线程问题时,应借助于threadlocal对象进行管理
*
*
* */
public class HibernateUtil {
private static final SessionFactory sessionFactory;
//使用ThreadLocal管理Session
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
static {
try {
//根据hibernate.cfg.xml建立SessionFactory
sessionFactory = new Configuration().configure("/hibernate.cfg.xml").buildSessionFactory();
} catch (Throwable ex) {
System.err.println("建立SessionFactory错误" + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null || !session.isOpen()) {
session = (sessionFactory != null) ? sessionFactory.openSession(): null;
threadLocal.set(session);
}
return session;
}
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null); if (session != null) {
session.close();
}
}
}
这个类是自己写的 ,我把源代码放上啦,你参考一下。