Hibernate学习笔记(3)

一.Hibernate主键生成策略

Hibernate学习笔记(3)

二.主键的类型

Hibernate学习笔记(3)


三.Hibernate实体类创建应该注意的事项

Hibernate学习笔记(3)


四.hibernate中对象的状态

Hibernate学习笔记(3)

(1)对象的三种状态的判断

Hibernate学习笔记(3)


(2)瞬时状态的特点

Hibernate学习笔记(3)

在第50行处设置断点,开启debug模式,右键=》Debug as =》JUnit  test

Hibernate学习笔记(3)


Hibernate学习笔记(3)

(a)此时主键生成策略为主键自增策略

当执行session.save(u);方法时,控制台输出为:

Hibernate学习笔记(3)

(b)当主键生成策略为increment

当执行session.save(u);方法时,控制台输出为:

Hibernate学习笔记(3)

(3)

Hibernate学习笔记(3)


五.一级缓存

(a)测试一级缓存的存在

Hibernate学习笔记(3)

控制台输出结果:

Hibernate学习笔记(3)

Hibernate学习笔记(3)


(b)测试快照的存在

Hibernate学习笔记(3)

         (1)当只执行u1.setName("百度");语句时,控制台的输出为:

Hibernate学习笔记(3)

         (2)当执行u1.setName("百度");u1.setName("大鱼海棠");这两条语句时,控制台打印的语句为:

Hibernate学习笔记(3)


(c)

Hibernate学习笔记(3)


Hibernate学习笔记(3)


Hibernate学习笔记(3)


六.事务相关

(a)

Hibernate学习笔记(3)

(b)

Hibernate学习笔记(3)

(c)

Hibernate学习笔记(3)

Hibernate学习笔记(3)

(d)

Hibernate学习笔记(3)


(七)在测试过程中遇到的问题:

Hibernate学习笔记(3)

在主配置文件hibernate.cfg.xml中相关配置为:

Hibernate学习笔记(3)

发现:

(1)配置文件中有错误标记,导致src文件夹也有错误标记

Hibernate学习笔记(3)

(2)运行Demo测试文件,疯狂报错

Hibernate学习笔记(3)



根据hibernate.cfg.xml配置文件错误提示:

配置hibernate.cfg.xml时提示The content of element type "session-factory" must match "(property*,mapping*,(class-cache|  collection-cache)*,event*,listener*)".

应该先配置property*元素,再配置mapping*元素,后面的以此类推,

Hibernate学习笔记(3)

Hibernate学习笔记(3)

主配置文件hibernate.cfg.xml错误提示消失,Demo测试结果显示为true,说明该方法有效

Hibernate学习笔记(3)