package com.yyaccp.xtm.t31.hb.sf;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
/**
* Configures and provides access to Hibernate sessions, tied to the
* current thread of execution. Follows the Thread Local Session
* pattern, see {@link http://hibernate.org/42.html }.
*/
public class HibernateSessionFactory {
/**
* Location of hibernate.cfg.xml file.
* Location should be on the classpath as Hibernate uses
* #resourceAsStream style lookup for its configuration file.
* The default classpath location of the hibernate config file is
* in the default package. Use #setConfigFile() to update
* the location of the configuration file for the current session.
*/
private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
private static Configuration configuration = new Configuration();
private static org.hibernate.SessionFactory sessionFactory;
private static String configFile = CONFIG_FILE_LOCATION;
static {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
private HibernateSessionFactory() {
}
/**
* Returns the ThreadLocal Session instance. Lazy initialize
* the <code>SessionFactory</code> if needed.
*
* @return Session
* @throws HibernateException
*/
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;
}
/**
* Rebuild hibernate session factory
*
*/
public static void rebuildSessionFactory() {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
/**
* Close the single hibernate session instance.
*
* @throws HibernateException
*/
public static void closeSession() throws HibernateException {
Session session = (Session) threadLocal.get();
threadLocal.set(null);
if (session != null) {
session.close();
}
}
/**
* return session factory
*
*/
public static org.hibernate.SessionFactory getSessionFactory() {
return sessionFactory;
}
/**
* return session factory
*
* session factory will be rebuilded in the next call
*/
public static void setConfigFile(String configFile) {
HibernateSessionFactory.configFile = configFile;
sessionFactory = null;
}
/**
* return hibernate configuration
*
*/
public static Configuration getConfiguration() {
return configuration;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
多对多的关系(Web)
共42个文件
jar:19个
xml:7个
class:4个
4星 · 超过85%的资源 需积分: 9 12 下载量 26 浏览量
2008-09-07
19:08:34
上传
评论
收藏 4.31MB RAR 举报
温馨提示
是一个多对多的代码,非常完整,而且列举比较精细,是一个很好的例子,可以作为教学板材!
资源推荐
资源详情
资源评论
收起资源包目录
多对多的关系(Web).rar (42个子文件)
Lession6-1
.project 1KB
.mymetadata 303B
WebRoot
WEB-INF
web.xml 375B
lib
log4j-1.2.11.jar 305KB
antlr-2.7.6rc1.jar 425KB
jta.jar 8KB
hibernate3.jar 1.63MB
jaxen-1.1-beta-7.jar 194KB
commons-logging-1.0.4.jar 33KB
xml-apis.jar 117KB
msbase.jar 280KB
jdbc2_0-stdext.jar 6KB
commons-collections-2.1.1.jar 169KB
mssqlserver.jar 65KB
jaas.jar 99KB
ehcache-1.1.jar 41KB
dom4j-1.6.1.jar 257KB
asm.jar 25KB
msutil.jar 58KB
xerces-2.6.2.jar 966KB
cglib-2.1.3.jar 244KB
asm-attrs.jar 16KB
classes
com
yyaccp
xtm
t31
hb
manytomany
entity
Items.hbm.xml 1KB
Categories.hbm.xml 975B
BussinissService.class 2KB
Categories.class 1KB
Items.class 2KB
sampledb.sql 548B
sf
HibernateSessionFactory.class 2KB
hibernate.cfg.xml 1KB
index.jsp 834B
META-INF
MANIFEST.MF 39B
.myeclipse
src
com
yyaccp
xtm
t31
hb
manytomany
entity
Items.hbm.xml 1KB
Categories.hbm.xml 975B
Items.java 1KB
Categories.java 1019B
BussinissService.java 1KB
sampledb.sql 548B
sf
HibernateSessionFactory.java 3KB
hibernate.cfg.xml 1KB
.classpath 2KB
.myhibernatedata 440B
共 42 条
- 1
资源评论
- MAX2012-11-27了解一下,很长时间没用了!
hiciss
- 粉丝: 2
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功