hibernate4.3.8的dialect和创建SessionFactory遇到的一些问题

好久不用hibernat,心里记着的还是hibernate3的标准,今天换成hibernate4.3.8后问题层出不穷啊。。。

首先是hibernate4.3.8中使用mysql方言时,hibernate.cfg.xml中配置的是

<property name="dialect">org.hibernate.dialect.MySQL57InnoDBDialect</property>

 

其次,在创建SessionFactory时废了不少的功夫,以前的buildSessionFactory()方法过时了,

同时在使用注解时也不能再new AnnotationConfiguration()

查了一番文档后发现建立SessionFactory改用以下代码

 1 Configuration cfg = new Configuration();
 2         cfg.configure();
 3         ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();//这里改为build()方法
 4         SessionFactory sf = cfg.buildSessionFactory(serviceRegistry);
 5         Session session = sf.openSession();
 6         session.beginTransaction();
 7         session.save(student);
 8         session.getTransaction().commit();
 9         session.close();
10         sf.close();

同时,无论是使用xml文件还是注释,现在直接用这套代码都可以创建SessionFactory了,以前的AnnotationConfiguration类

被包含进了Configuration类中!

posted on 2015-03-10 18:14  红可可  阅读(500)  评论(0编辑  收藏  举报

导航