Hibernate初探之单表映射

http://www.imooc.com/video/7816

1.什么是ORM?为什么使用Hibernate?
对象关系映射;为了少写和底层数据库相关的sql语句,方便程序的维护、修改,提高跨平台性和可扩展性。Hibernate是Java领域内的一款技术成熟稳定的ORM框架
2.Hibernate开发的基本步骤?
(1)编写配置文档hibernate.cfg.xml
(2)编写实体类。注意:每一个实体类都要与数据库中的一张表一一对应,实体类的编写要遵循JavaBean的要求。
(3)生成对应实体类的映射文件并添加到配置文档中
(4)调用Hibernate API进行测试
3.什么是session?
类似于JDBC里面的connection对象。调用session操作数据库,实际上就是调用connection的各种API函数来实现的。
4.openSession与getCurrentSession的区别?
openSension每次都是创建新的session对象,而getCurrentSenssion使用单例模式,每次创建都是相同的对象。openSession在使用完毕后需要显式地关闭,而getCurrentSession在事务提交之后会自动关闭。
5.单表操作有哪些常用的方法?
增删改查对应使用session当中的save、delete、update、get/load方法
6.单表操作,查询一条记录时,get和load的区别?
get在使用的时候立即发送sql语句,并且获得的是实体类的对象类型,而load只有在使用具体对象的非主键属性的时候才会发送sql语句,而且返回的是一个代理对象。
单个记录查询get与load的区别
1.在不考虑缓存的情况下,get方法会在调用之后立即向数据库发出sql语句,返回持久化对象(实体类的对象)。
2.load方法会在调用后返回一个代理对象,该代理对象只保存了实体对象的id,直到使用对象的非主键属性时才会发出sql语句。
3.查询数据库中不存在的数据时,get方法返回null,load方法抛出异常org.hibernate.ObjectNotFoundExceptio
时间: 2024-08-12 04:14:09

Hibernate初探之单表映射的相关文章

Hibernate初探之单表映射——创建对象-关系映射文件

编写一个Hibernate例子 第三步:创建对象-关系映射文件 以下是具体实现步骤: 找到我们要持久化的学生类Sudents 生成对象-关系映射文档Students.hbm.xml: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourcefor

Hibernate初探之单表映射——通过Hibernate API编写访问数据库的代码

编写一个Hibernate例子 第五步:通过Hibernate API编写访问数据库的代码 初始化方法要实现以下功能: 原文地址:https://www.cnblogs.com/songsongblue/p/9523201.html

Hibernate初探之单表映射——创建持久化类

编写第一个Hibernate例子 第二步:创建持久化类(持久化类的设计原则要遵循javabeans的设计原则) javabeans的设计原则: 1.公有的类2.提供公有的不带参数的默认的构造方法3.属性私有 4.属性setter/getter封装 新建一个Students类(持久化类) import java.util.Date; //学生类 public class Students { // 1.公有的类 // 2.提供公有的不带参数的默认的构造方法 // 3.属性私有 // 4.属性set

持久化API(JPA)系列(七)实体关系映射(ORM)之单表映射@IdClass

通过以前的文章,我们了解到@Table.@Column.@Id实现了单表的映射,并且书剑有一个@Id指定的唯一字段.有时我们的数据表也许是有多个主键联合组成的,因此对于单表映射的主键,还可以进行如下两种联合主键映射. 联合主键:使用@IdClass指定外部主键 联合主键:使用@EmbeddedId嵌入外部主键 下面通过实例来看这两种主键的开发方法. Demo:设计一个家庭表Family的数据结构 ==================================================

持久化API(JPA)系列(八)实体关系映射(ORM)之单表映射@EmbeddedId

接上文<持久化API(JPA)系列(七)实体关系映射(ORM)之单表映射@IdClass> 本文将介绍<联合主键:使用@EmbeddedId嵌入外部主键> 上文是通过@IdClass引用外部主键,联合主键也可以采用嵌入式主键替代. 1)新建外部主键类Family2.java 设置联合主键man和woman,因此外部主键也需要定义两个相同的变量,并添加一个以两个变量为输入的构造函数,同时添加getter/setter函数. 主键类必须满足: 1.必须实现Serializable接口,

hibernate单表映射

什么是Hibernate? ORM:object relationship mapping对象关系映射 hibernate是java领域的一款开源的ORM框架技术. hibernate是对jdbc进行了非常轻量级的对象封装. 1.开发工具:Eclipse Standard Kepler Hibernate Tools for eclipse Plugins Hibernate Tools是由JBoss推出的一个Eclipse综合开发工具插件,该插件可以简化ORM框架Hibernate,以及JBo

hibernate课程 初探单表映射2-6 session详解(下)

本节主要内容: 1 介绍了getCurrentSession和opensession的区别 2 demo:通过打印比较两个session是否相同,验证两个session是否是同一session 3 demo:通过打印hashcode验证不关闭session,容易连接池溢出. 1 getCurrentSession和opensession的区别 a getCurrentSession每次获取的都是同一连接,opensession每次获取的是不同的连接. b getCurrentSession不需要

hibernate课程 初探单表映射3-3 对象类型

本节简介: 1 简介对象类型(重点是音视频blob类型) 2 demo(对图片的写入数据库与读取) 1 简介对象类型 映射类型 java类型 标准sql类型 mysql类型 oracle类型 binary byte[] varchar blob blob text(大文本类型) java.lang.String clob text   clob clob(大文本类型)    java.sql.Clob clob text clob blob(二进制数据类型)  java.sql.Blob blo

hibernate课程 初探单表映射3-5 hibernate增删改查

本节简介: 1 增删改查写法 2 查询load和查询get方法的区别 3 demo 1 增删改查写法 增加 session.save() 修改 session.update() 删除 session.delete() 查询 session.get()/session.load() 2 查询load和查询get方法的区别 a get 不考虑缓存情况下,get会在调用之后立即向数据库发送sql语句,返回持久化对象.load 是调用后返回代理对象,该代理对象只保存实体对象id,只有使用对象非主键属性才