package com.newer.db;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
/**
* MyEclipse自动生成 工具类
*/
public class HibernateSessionFactory {
private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml"; //位置src
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
private static org.hibernate.SessionFactory sessionFactory;
private static String configFile = CONFIG_FILE_LOCATION;
//private static Configuration configuration = new Configuration(); //XML配置时使用
private static Configuration configuration = new AnnotationConfiguration(); //@配置时使用
static {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
/**
* 构造方法
*/
private HibernateSessionFactory() {
}
/**
* 获取Session的方法
* @return
*/
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null || !session.isOpen()) {
if (sessionFactory == null) {
rebuildSessionFactory();
}
session = (sessionFactory != null) ? sessionFactory.openSession()
: null;
threadLocal.set(session);
}
return session;
}
public static void rebuildSessionFactory() {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null);
if (session != null) {
session.close();
}
}
/**
* 获取sessionFactory的方法
* @return
*/
public static org.hibernate.SessionFactory getSessionFactory() {
return sessionFactory;
}
/**
* 清空 sessionFactory 的方法
* @return
*/
public static void setConfigFile(String configFile) {
HibernateSessionFactory.configFile = configFile;
sessionFactory = null;
}
/**
* 获取 configuration 的方法
* @return
*/
public static Configuration getConfiguration() {
return configuration;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
hibernate xml配置和@注解配置关系映射 (120个子文件)
Test.class 3KB
Test.class 3KB
HibernateSessionFactory.class 2KB
Test.class 2KB
TestXML.class 2KB
TestXMLStringEmali.class 2KB
Test.class 2KB
Post.class 2KB
Post.class 2KB
Ship.class 2KB
Ship.class 2KB
Person2.class 2KB
Student.class 2KB
Article.class 2KB
Clazz.class 2KB
Ship.class 2KB
Post.class 1KB
Post.class 1KB
Sailor.class 1KB
Sailor.class 1KB
Test.class 1KB
Clazz.class 1KB
Person2.class 1KB
Person3.class 1KB
Student.class 1KB
Article.class 1KB
HibernateUtil.class 1KB
Tag.class 1KB
Type.class 1KB
Email.class 1KB
Sailor.class 1KB
Tag.class 1020B
Email.class 806B
Type.class 800B
Test.class 787B
Tag.class 777B
Tag.class 771B
.classpath 811B
org.eclipse.wst.common.component 465B
org.eclipse.wst.jsdt.ui.superType.container 49B
sqljdbc.jar 227KB
HibernateSessionFactory.java 2KB
Person2.java 2KB
Post.java 1KB
Post.java 1KB
Test.java 1KB
Article.java 1KB
Ship.java 1KB
Ship.java 1KB
Test.java 1KB
Test.java 1KB
Student.java 1KB
Test.java 1KB
TestXML.java 1KB
TestXMLStringEmali.java 1KB
Clazz.java 1KB
Test.java 1KB
Sailor.java 924B
Sailor.java 921B
Tag.java 816B
Type.java 790B
Test.java 769B
Post.java 754B
Post.java 751B
Article.java 731B
Ship.java 728B
Clazz.java 717B
Student.java 713B
Person2.java 702B
Email.java 697B
HibernateUtil.java 694B
Person3.java 644B
Tag.java 630B
Sailor.java 455B
Type.java 436B
Email.java 424B
Tag.java 370B
Tag.java 367B
.jsdtscope 493B
index.jsp 829B
accp.log 201KB
MANIFEST.MF 36B
.myhibernatedata 551B
.mymetadata 300B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.jdt.core.prefs 395B
org.eclipse.core.resources.prefs 100B
.project 2KB
log4j.properties 745B
log4j.properties 745B
hibernate.cfg.xml 2KB
hibernate.cfg.xml 2KB
Person2.hbm.xml 763B
Person3.hbm.xml 763B
Person2.hbm.xml 763B
Person3.hbm.xml 763B
Post.hbm.xml 723B
Post.hbm.xml 723B
Post.hbm.xml 720B
Post.hbm.xml 720B
共 120 条
- 1
- 2
yinxudong2011
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页