新手小白自学hibernate,官方文档错误,导致的坑爹历程

因为是自学的hibernate,所以我先是上网找了些hibernate的视频来看了几天,再浏览的官方文档,最后才开始动手做实践操作,没想到刚开始就出问题了,我将官方文档上的hibernate.cfg.xml完全copy到项目的src目录下,然后修改数据库连接信息,搭建好log4j、junit,当我满怀希望的开始我的第一个小程序时,才发现我下载的hibernate是4.2.21,而看的视频是hibernate3的视频,视频中创建SessionFactory的方法:

  SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();

  AnnotationConfiguration类和buildSessionFactory()参数为空的方法已经过期,然后我查官方文档后改成了:

  SessionFactory sf = new Configuration().configure().buildSessionFactory(new StandServiceRegistryBuilder().build());

  来创建,结果myeclipse竟然显示找不到 org.hibernate.boot.registry.StandardServiceRegistryBuilder这个包,我顿时就蒙逼了,这是个什么情况,官方手册上明明白白写着,竟然没有,然后我在百度一通好找,什么收获也没有,最后在hibernate4.2.21的官方API中找了半天,发现竟然真的没有这个包,然后本着版本可能有问题的想法上hibernate官网下载了两个最新版的hibernate5.2.10和hibernate4.3.11,因为看见hibernate5.2.10是今年刚出的,可能有BUG,所以多下了几个,然后我在5.2.10中没有找到manual手册,因此看不懂最新版的,所以就用的4.3.11版的,查手册和API文档,发现获得SessionFactory的写法和上面的图一样,只是这回API中有org.hibernate.boot.registry.StandardServiceRegistryBuilder这个类了,然后高高兴兴的一步步写,用junit测试,竟然不发SQL语句,在myeclips中什么错误也不报,这就很尴尬了,我又查了半天,能用的方法都用上了,最后在:

SessionFactory sf = new Configuration().configure().buildSessionFactory(new StandServiceRegistryBuilder().build());

这段代码上加了try-catch,myeclips才报错,报的错也奇怪:

方言没有配置,于是我又检查了好几遍自己在hibernate.cfg.xml中的配置,发现都没问题,没辙了,在这都折腾好几个小时了,最后都快要放弃的时候,还是觉得度娘上绝对有大牛前辈遇到过这个问题,应该有答案,只是我还没找到而已。终于,功夫不负有心人,真的让我找到了一篇博客,那位前辈在上面说这是官方文档上的错误,官方文档上的写法没有拿到hibernate.dialect的配置,正确的写法是:

最后,那个junit不报错,我觉得应该是一个BUG

总结:有付出就会有回报,不管多么困难的问题只要你努力的去找答案,总会找到的!希望各位小伙伴们都能克服学习的困难哦!

				
时间: 2024-10-13 09:59:20

新手小白自学hibernate,官方文档错误,导致的坑爹历程的相关文章

调用微信高级群发接口--视频群发接口出问题(微信官方文档错误纠正)

这几天在弄项目与微信对接,我主要负责将素材(视频,图片,缩略图,音频)材料上传到微信服务器上,并推送到所关注本平台的用户中,从获取accessToken到素材上传.下载.或者关注者的openId等这一系列的接口,都没有问题,但是当最后调用高级接口,进行群发的时候确出了问题,按照官方文档的做法分步执行的群发视频的接口.       1.上传视频到服务器,返回的代码代码如下. { "type": "video", "media_id": "

微信小程序官方文档错误整理

大致看了一遍微信小程序文档,发现有几处微小的错误,但瑕不掩瑜.记录下,以后发现了还会继续在此添加.如果有记录不对的,请及时指出错误. 1.视图层->WXSS->尺寸单位 明显错误,应该为 1px=2.34rpx 2.视图层->WXML->引用->include描述 有错别字 3.视图层->WXML->事件->事件绑定 "点击 inner view 会先后触发handleTap1和handleTap2",个人感觉应该是先后触发handleT

有关于OpenStack的Rocky版官方文档部署中的一些错误

OpenStack-Rocky版本的错误错误1:在装包时包下载失败,在确定系统源没有问题之后,发现Ping不通百度.最后,添加了DNS解决的,说明没有添加DNS(/etc/resolv.conf). 错误2:作为admin用户,请求身份验证令牌时发生错误,应为端口错误,在配置的时候,使用的是5000,下面命令中测试使用的是35357,所以错了.[[email protected] ~]# openstack --os-auth-url http://controller:35357/v3 \ -

hbase官方文档(转)

Apache HBase™ 参考指南  HBase 官方文档中文版 Copyright © 2012 Apache Software Foundation.保留所有权利. Apache Hadoop, Hadoop, MapReduce, HDFS, Zookeeper, HBase 及 HBase项目 logo 是Apache Software Foundation的商标. Revision History Revision 0.95-SNAPSHOT 2012-12-03T13:38 中文版

HBase 官方文档0.90.4

HBase 官方文档0.90.4 Copyright ? 2010 Apache Software Foundation, 盛大游戏-数据仓库团队-颜开(译) Revision History Revision 0.90.4 配置,数据模型使用入门 Abstract 这是 Apache HBase的官方文档, Hbase是一个分布式,版本化(versioned),构建在 Apache Hadoop和 Apache ZooKeeper上的列数据库. 我(译者)熟悉Hbase的源代码,从事Hbase

TestNG官方文档中文版(2)-annotation(转)

1. 介绍    TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试(隔离测试一个类)到集成测试(测试由有多个类多个包甚至多个外部框架组成的整个系统,例如运用服务器). 编写一个测试的过程有三个典型步骤: * 编写测试的 业务逻辑并在代码中插入TestNG annotation    * 将测试信息添加到testng.xml文件或者build.xml中    * 运行TestNG 在欢迎页面上可以找到快速入门示例. 下面是这篇文档使用的概念: * suite由xml文件描述.它包

Django 1.9.6 官方文档 第二部分(中文翻译)

注:最近开始学习Python的Django框架,为了督促学习,强迫自己翻译官方的文档,既是一种学习,也是一种积累!由于经验不足,错误肯定不少,请大家不吝指教!原创内容,转载请注明出处. Django官方文档 第二部分:新手入门 (之所以从第二部分开始,是因为第一部分是整个官方文档结构图和导引,有空我会翻译出来补全.) 2.1 Django概述 Django诞生于快节奏的新闻编辑室环境,它被设计成快速.简单的通用网站开发工具. 本文档的目的是让你获得足够的基础知识去理解Django是如何工作的,它

Django 2.0官方文档中文 渣翻 总索引(个人学习,欢迎指正)

Django 2.0官方文档中文 渣翻 总索引(个人学习,欢迎指正) 置顶 2017年12月08日 11:19:11 阅读数:20277 官方原文: https://docs.djangoproject.com/en/2.0/ 当前翻译版本: v2.0 Python版本要求: v3.4+ (译者注:本人目前在南京一家互联网公司工作,职位是测试开发工程师.因为测试工作中经常会用到编码语言,如Python.Java.Shell等,所以几年前萌生了对Python语法的学习.Django作为Python

Android Studio官方文档之构建和运行你的APP

Android Studio官方文档之构建和运行你的APP 本文由MTJH翻译,jkYishon审校. 前言 默认情况下,Android Studio设置新的项目并且部署到模拟器或者真机设备上,只需要点击几下.使用即时运行,你并不需要构建一个新的APK即可将改变后的方法和现有的应用资源应用到一个正在运行的应用程序中,所以代码的改变是即时可见的. 点击Run来构建并运行你的APP.Android Studio通过Gradle构建你的App,选择一个部署的设备(模拟器或连接的设备),然后把你的APP