好,话不多说,相信有很多刚开始学习hibernate的小伙伴们(尤其是自己看视频自学)都碰到过这样的问题:第一生成表结构的时候发现会有这样的错误:
很奇怪,明明都是照着视频中的敲的呀,怎么这几个地方会报错呢?其实原因是这个样子的:
这是因为笔者或者朋友你使用的是比较高级的hibernate版本,以上是hibernate4.3版本以前的方式,以后的,ServiceRegistryBuilder()这个方法机已经被弃用了,所以你如果用的是比较高级的hibernate版本,或者干脆就是用比较新的版本的IDE开发工具(比如说笔者的idea2017.3.4版)自动下载的话,那么恭喜你,会报错的呦~
新的方法如下:
public void testSchemaExport(){ //创建配置对象 Configuration config = new Configuration().configure(); //创建服务注册对象 ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(config .getProperties()).build(); //创建会话工厂对象 SessionFactory sessionFactory = config.buildSessionFactory(serviceRegistry); //会话对象 Session session = sessionFactory.openSession(); //开启事务 Transaction transaction = session.beginTransaction(); }
甚至hibernate5之后更加简单:
public void testSchemaExport(){ //创建配置对象(读取配置文档) Configuration config = new Configuration().configure(); //创建会话工厂对象 SessionFactory sessionFactory = config.buildSessionFactory(); //会话对象 Session session = sessionFactory.openSession(); //开启事务 Transaction transaction = session.beginTransaction(); }
由此搞定学习hibernate碰到的第一个问题
在这里要说一下,网上有很多介绍hibernate使用的,并且都是介绍的非常好,我在这里仅仅是记录一下自己在学习hibernate的过程中犯的错误,记录下来以免以后再犯,同时给刚开始学习hibernate的猿们提供一个参照,毕竟刚开始的时候什么都不懂,因为配置或者版本问题困扰很久是很苦恼的,当然,本人也是一个刚开始学习的小白,希望大家互相学习,大神勿喷~