معلومات المنتج:
حزمة داو؛
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
/**
* @ المؤلف مينكسوينتكن
*/
الطبقة العامة HibernateSessionFactory {
خاص نهائي ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
تكوين التكوين الخاص = التكوين الجديد () ؛
Private org.hibernate.SessionFactory sessionFactory;
/**
* hibernate.cfg.xml
* @param ملف التكوين
*/
مجموعة الفراغ العامة (سلسلة configFile) {
this.configuration=new Configuration();
التكوين.configure(configFile);
}
/**
* إرجاع مثيل جلسة ThreadLocal.
* @ جلسة العودة
* @throws HibernateException
*/
الجلسة العامة getSession () تطرح HibernateException {
جلسة الجلسة = (جلسة) threadLocal.get();
إذا (الجلسة == فارغة || !session.isOpen()) {
إذا (sessionFactory == null) {
RebuildSessionFactory();
}
جلسة = (sessionFactory != فارغة)؟ sessionFactory.openSession()
: باطل؛
ThreadLocal.set(session);
}
جلسة العودة؛
}
/**
* إعادة بناء مصنع جلسة السبات
*
*/
الفراغ العام إعادة بناءSessionFactory () {
يحاول {
sessionFactory = this.configuration.buildSessionFactory();
} قبض (الاستثناء ه) {
خطأ في النظام
.println("%%%% خطأ في إنشاء SessionFactory %%%%");
printStackTrace();
}
}
/**
* أغلق مثيل جلسة السبات المفردة.
*
* @throws HibernateException
*/
public void CloseSession() يرمي HibernateException {
جلسة الجلسة = (جلسة) threadLocal.get();
ThreadLocal.set(null);
إذا (الجلسة! = فارغة) {
جلسة. إغلاق ()؛
}
}
/**
* مصنع جلسة العودة
*
*/
public org.hibernate.SessionFactory getSessionFactory() {
جلسة العودةFactory؛
}
/**
* عودة تكوين السبات
*/
التكوين العام getConfiguration () {
تكوين العودة
}
}