maven hbm2java_maven创建webhibernate项目(sts)

packagecom.oracle.dao;importorg.hibernate.HibernateException;importorg.hibernate.Session;importorg.hibernate.cfg.Configuration;importorg.hibernate.service.ServiceRegistry;importorg.hibernate.service.ServiceRegistryBuilder;/*** 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 classHibernateSessionFactory {/*** 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 final ThreadLocal threadLocal = new ThreadLocal();private staticorg.hibernate.SessionFactory sessionFactory;private static Configuration configuration = newConfiguration();private staticServiceRegistry serviceRegistry;static{try{

configuration.configure();

serviceRegistry= newServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();

sessionFactory=configuration.buildSessionFactory(serviceRegistry);

}catch(Exception e) {

System.err.println("%%%% Error Creating SessionFactory %%%%");

e.printStackTrace();

}

}privateHibernateSessionFactory() {

}/*** Returns the ThreadLocal Session instance. Lazy initialize

* the SessionFactory if needed.

*

*@returnSession

*@throwsHibernateException*/

public static Session getSession() throwsHibernateException {

Session session=(Session) threadLocal.get();if (session == null || !session.isOpen()) {if (sessionFactory == null) {

rebuildSessionFactory();

}

session= (sessionFactory != null) ?sessionFactory.openSession()

:null;

threadLocal.set(session);

}returnsession;

}/*** Rebuild hibernate session factory

**/

public static voidrebuildSessionFactory() {try{

configuration.configure();

serviceRegistry= newServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();

sessionFactory=configuration.buildSessionFactory(serviceRegistry);

}catch(Exception e) {

System.err.println("%%%% Error Creating SessionFactory %%%%");

e.printStackTrace();

}

}/*** Close the single hibernate session instance.

*

*@throwsHibernateException*/

public static void closeSession() throwsHibernateException {

Session session=(Session) threadLocal.get();

threadLocal.set(null);if (session != null) {

session.close();

}

}/*** return session factory

**/

public staticorg.hibernate.SessionFactory getSessionFactory() {returnsessionFactory;

}/*** return hibernate configuration

**/

public staticConfiguration getConfiguration() {returnconfiguration;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值