第213次(Hibernate)
学习主题:Hibernate
学习目标:
1 掌握Spring整合Hibernate
2 掌握Hibernate的CURD
3 掌握HQL语句
1. Spring Data课程中的技术介绍
(1) 什么是Hibernate?
答:和MyBatis一样,都是封装了JDBC的操作的ORM框架
(2) 什么是JPA?
(3) 什么是Hibernate JPA?
答:就是Hibernate对上面的JPA的实现
(4) 什么是Spring Data?
(5) 什么是Spring Data JPA?
(6) 什么是Spring Data Redis
2. Spring整合Hibernate
(1) 如何在Spring的配置文件中配置DataSource?
<bean
(2) 如何在Spring的配置文件中配置SessionFactory?
<bean
(3) 如何在Spring的配置文件中配置Hibernate的事物管理器?
<bean
3. Hibernate添加、修改、删除操作
(1) @Entity注解的作用是什么?
答:表示该类是实体类
(2) @Table注解的作用是什么?
答:将这个类与某个表映射起来,在进行正向工程的时候,可以通过实体类生成table结构
(3) @Id注解的作用是什么?
答:表明这个字段是主键
(4) @GeneratedValue注解的作用是什么?
答:生成值得策略,例如主键自增长
(5) @Column注解的作用是什么?
答:将table中得列得字段名与实体类得属性对应
4. Hibernate-HQL查询
(1) 什么是HQL语言?
答:Hibernate Query Language
(2) HQL语言的语法是什么?
答:和sql大抵一致,区别在于就是将原来的 sql 语句中的表与字段名称换成对象与属性的名称就可以了
(3) getCurrentSession与openSession的区别?
getCurrentSession:当前 session 必须要有事务边界(就是你的必须受事务的控制,即便是查询), 且只能处理唯一的一个事务。当事务提交或者回滚后 session 自动失效
openSession:每次都会打开一个新的 session.加入连续使用多次。则获得的是不同session对象。使用完毕后我们需要手动的调用 colse 方法关闭 session