1:Hibernate和JDBC、ODBC的作用是一样的、用来访问、操作数据库的。它的优势在哪?没用过、我也不知道。。。不过貌似【数据持久化】是个关键词。
[
下边是百科里的一段话:
对象上数据的修改,Hibernate框架会把这种修改同步到数据库中。
使用数据持久化有以下好处:
1、程序代码重用性强,即使更换数据库,只需要更改配置文件,不必重写程序代码。
2、业务逻辑代码可读性强,在代码中不会有大量的SQL语言,提高程序的可读性。
3、持久化技术可以自动优化,以减少对数据库的访问量,提高程序运行效率。
数据持久化对象的基本操作有:保存、更新、删除、查询等。
]
2:访问的具体步骤是固定的、记不住的话就找度娘~或鹏哥~
Hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
核心接口简介
Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这6个核心接口分别加以介绍。
Session接口 
Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。 【这貌似就是p哥所说的注意session的不同环境下的不同意义】
SessionFactory接口 
SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
Configuration类 
Configuration类负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。

Transaction接口【貌似用到了】

Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。

Query和Criteria接口

Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语句或SQL语句两种表达方式。
部分主键介绍

Assigned

Assigned方式由用户生成主键值,并且要在save()之前指定否则会抛出异常
特点:主键的生成值完全由用户决定,与底层数据库无关。用户需要维护主键值,在调用session.save()之前要指定主键值。

Sequence

Sequence需要底层数据库支持Sequence方式,例如Oracle数据库等
特点:需要底层数据库的支持序列,支持序列的数据库有DB2、PostgreSql、Oracle、SAPDb等在不同数据库之间移植程序,特别从支持序列的数据库移植到不支持序列的数据库需要修改配置文件 。

Native

Native主键生成方式会根据不同的底层数据库自动选择Identity、Sequence、Hilo主键生成方式
特点:根据不同的底层数据库采用不同的主键生成方式。由于Hibernate会根据底层数据库采用不同的映射方式,因此便于程序移植,项目中如果用到多个数据库时,可以使用这种方式。

Foreign GUID

Foreign用于一对一关系中。GUID主键生成方式使用了一种特殊算法,保证生成主键的唯一性,支持SQL Server和MySQL
其他:略
Hibernate源码中几个包的作用简要介绍:ctrl+shift+o
本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/archive/2012/09/10/2678498.html,如需转载请自行联系原作者

Hibernate是啥?相关推荐

  1. java面试常见问题之Hibernate总结

    1  Hibernate的检索方式 Ø  导航对象图检索(根据已经加载的对象,导航到其他对象.) Ø  OID检索(按照对象的OID来检索对象.) Ø  HQL检索(使用面向对象的HQL查询语言.) ...

  2. Spring中启用Hibernate二级缓存步骤

    1.在applicationContext.xml配置文件中SessionFactory  bean中配置缓存 <!-- 配置会话工厂对象 --> <bean id="se ...

  3. ssh(Struts+spring+Hibernate)三大框架整合-简述

    ssh(Struts+spring+Hibernate)三大框架配合使用来开发项目,是目前javaee最流行的开发方式,必须掌握: 注意: 为了稳健起见,每加入一个框架,我们就需要测试一下,必须通过才 ...

  4. Hibernate框架第二天

    ### Hibernate的持久化类 ### ---------- **什么是持久化类** 1. 持久化类:就是一个Java类(咱们编写的JavaBean),这个Java类与表建立了映射关系就可以成为 ...

  5. Hibernate **关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用**

    之前一直都是使用hibernate4.2.21的我,有一天突然没有使用本地的jar包而是让IDEA自动下载最新版本的hibernate5.2.2之后,发现有几个经常使用的方法报错了. //创建配置对象 ...

  6. 使用hibernate与mysql时数据不能插入的原因及解决办法

    1.背景 之前从没用过hibernate,因此在网上搜了一下hibernate快速入门方面的信息,最后我按照<Myeclipse Hibernate 快速入门 中文版>(CSDN,百度文库 ...

  7. IntelliJ IDEA下自动生成Hibernate映射文件以及实体类

    转自:https://blog.csdn.net/qq_34197553/article/details/77718925 1.构建项目并添加项目结构配置以及配置初始参数 1.1.如图将基本的架子搭建 ...

  8. Spring Hibernate JPA 联表查询 复杂查询

    (转自:http://www.cnblogs.com/jiangxiaoyaoblog/p/5635152.html) 今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的 ...

  9. 5 -- Hibernate的基本用法 --2 1 Hibernate 下载和安装

    1. 下载Hibernate压缩包 2. 解压:文件结构 ⊙ documentation : 该路径下存放了Hibernate的相关文档,包括Hibernate的参考文档和API文档等. ⊙ lib ...

  10. Hibernate的一级缓存

    Hibernate的一级缓存 什么是缓存:缓存将数据库/硬盘上文件中数据,放入到缓存中(就是内存中一块空间).当再次使用的使用,可以直接从内存中获取 缓存的好处:提升程序运行的效率.缓存技术是Hibe ...

最新文章

  1. 荣耀手机现在是鸿蒙,荣耀适配鸿蒙最新消息出现,华为不会让大家失望的
  2. 微软惹的祸!CVPR提交网站最后1小时被挤崩,官方紧急延长36小时
  3. TextBox和DataGridView控件的事件发生顺序
  4. 自定义实现ProgressDialog样式的Dialog
  5. /bin/bash: [xxxx]: command not found
  6. Thunar 右键菜单等自定义
  7. 【渝粤题库】陕西师范大学210010 幼儿园管理学 作业(高起专、专升本)
  8. 关于python_关于python的基础知识
  9. GitHub推出“AI程序员”插件 !
  10. 每隔10秒执行一次_(立下flag)每日10道前端面试题12 关于BOM十问
  11. restfull api 接口 规范
  12. mysql 数据库编码怎么看,查看数据库编码_查看mysql编码方式 mysql数据库编码查看方法...
  13. js 设置cookie
  14. Android开发笔记(五)日期的处理
  15. dis计算机领域中是什么意思,dis
  16. 年报文本分析:jieba词频统计
  17. 2019年长安杯 第一届电子数据取证竞赛 wp
  18. 视觉推理(Visual Reasoning)
  19. 周星驰搞笑电影中的BT角色大全(100位)
  20. JS(JQ)实现table表格固定表头且表头可以随横向滚动而滚动

热门文章

  1. Some Rules from wrting your own dsl with ruby
  2. oracle导出客户机使用us7a,导入 Oracle WORLD SAMPLE
  3. java clob内存溢出_java - java.sql.SQLException:ORA-01704:字符串文字太长时插入或更新 - 堆栈内存溢出...
  4. Jrebel 热部署插件的使用和破解
  5. HBase常用API操作
  6. JSP的执行过程(详解)
  7. ios TableView编辑状态多选框的修改
  8. Sql Server 因为触发器问题导致数据库更新报错“在触发器执行过程中引发了错误,批处理已中止”的问题处理...
  9. HTML5 监听当前位置
  10. 有光照就能上网 0.2秒即可下载一部高清电影