码迷,mamicode.com
首页 > Web开发 > 详细

hibernate 4.3.7.Final学习

时间:2014-12-01 10:18:43      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:des   style   io   ar   os   sp   java   on   bs   

异常:

[Solved] HibernateException: Access to DialectResolutionInfo cannot be null when ‘hibernate...


源码:

public SessionFactory buildSessionFactory() throws HibernateException {
		Environment.verifyProperties( properties );
		ConfigurationHelper.resolvePlaceHolders( properties );
		final ServiceRegistry serviceRegistry =  new StandardServiceRegistryBuilder()
				.applySettings( properties )
				.build();
		setSessionFactoryObserver(
				new SessionFactoryObserver() {
					@Override
					public void sessionFactoryCreated(SessionFactory factory) {
					}

					@Override
					public void sessionFactoryClosed(SessionFactory factory) {
						( (StandardServiceRegistryImpl) serviceRegistry ).destroy();
					}
				}
		);
		return buildSessionFactory( serviceRegistry );
	}

我获取sessionFactory的方式:

package util;

import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

/**
 * @author guozhenzhen
 * 
 */
public class HibernateUtil {

	private static final SessionFactory sf = buildHibernateSessionFactory();

	private static SessionFactory buildHibernateSessionFactory() {
		Configuration cfg = new Configuration().configure();
		ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
				.build();
		return cfg.buildSessionFactory(serviceRegistry);
	}

	public static SessionFactory getSessionFactory() {
		return sf;
	}

}

可以看得出来是少了一个applySettings方法,把属性都设置进去。

修改如下以后,hibernate可以正常工作了:

package util;

import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

/**
 * @author guozhenzhen
 * 
 */
public class HibernateUtil {

	private static final SessionFactory sf = buildHibernateSessionFactory();

	private static SessionFactory buildHibernateSessionFactory() {
		Configuration cfg = new Configuration().configure();
		ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
				.applySettings(cfg.getProperties()).build();
		return cfg.buildSessionFactory(serviceRegistry);
	}

	public static SessionFactory getSessionFactory() {
		return sf;
	}

}

继续运行hibernate小例子:

Session session = HibernateUtil.getSessionFactory().getCurrentSession();

出现异常:No CurrentSessionContext configured!


hibernate 4.3.7.Final学习

标签:des   style   io   ar   os   sp   java   on   bs   

原文地址:http://my.oschina.net/guozhenzhen/blog/350675

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!