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类中!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。