浅析Hibernate基础知识
创始人
2024-06-07 20:50:45
0

Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate基础知识,包括介绍主键Id得到一个持久对象,Hibernate中有两个方法等方面。

今天重新学习Hibernate,虽然一年多以前跟老师学过Hibernate基础知识,但现在重新学习还是有很多收获的,发现自己的知识知道的都是些皮毛,用了很久的东西,知道怎么操作怎么用,但要说说它的所以然,摇摇头,呵呵

Hibernate是JDBC的升级版,专用连接数据库。
Hibernate比JDBC简单使用,不需要输入很多的连接数据库代码。提取数据库数据也不用循环提取。使用时的方法为:

1.新建一个Java普通项目

2.创建user library 加入三个地方的jar包:两个Hibernate 一个MYSQL驱动

3.创建Hibernate配置文件,Hibernate.cfg.xml

4.建立实体类user

5.在Hibernate文件中寻找eg至底部找出user.hbm.xml映射文件,copy到映射文件所在文件中

6.将映射文件user.hbm.xml部分加入到Hibernate.cfg.xml中

7.创建数据库,再利用Hibernate将实体映射导入到数据库中

根据主键Id得到一个持久对象,Hibernate中有两个方法,一个get,一个load,他们两个参数相同,都返回一个Object

它们的区别:执行get方法即时生成查询sql去查询数据库得到相应的pojo,如果数据库中没有相应记录,则返回null执行load方法不会即时产生 sql语句,而是在用到返回的对象时采取查询数据库,也就是load方法有默认的延迟加载,在执行load方法后返回的不是一个pojo对象,是pojo 对象的一个代理(据说Hibernate是用代理的方式实现延迟加载的,这块还迷糊),如果数据库中没有相应记录,load方法会抛出异常ObjectNotFoundException看了一下我们用MyEclipse Hibernate工具通过数据库生成的DAO类,它的findById方法是用的session.get()方法,这是即时获得pojo对象,如果是load方法,在执行完load后如果关闭了session,那在接下来用到这个pojo对象时恐怕会报session已关闭的错误。

还有就是这两个方法的第二个参数id,它必须是实现了java.io.Serializable接口,也就是可序列化的。以上介绍Hibernate基础知识。

【编辑推荐】

  1. Hibernate Util简单讨论
  2. 详解优化Hibernate性能经验
  3. 概述Hibernate dbcp连接池使用方法
  4. 浅析Hibernate.cfg.xml配置
  5. Hibernate Shard基础分析

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...