Hibernate学习笔记——第二天

一、实体类编写规则

  1. 实体类里面属性为私有的
  2. 私有属性使用公开的get和set方法进行操作
  3. 要求实体类有作为唯一值来区分的属性(id)
  4. 实体类属性建议使用包装类型

二、Hibernate主键生成策略

  1. hibernate要求实体类里面有一个属性作为唯一值,对应数据库表的主键,主键可以有不同的生成策略

三、实体类的crud操作

1.调用session里面的save方法实现

2.根据id查询,调用session里面的get方法实现

 3.修改操作,调用session里面的update方法实现

4.删除操作,调用session里面的delete方法实现

四、实体类对象状态

1.瞬时态:对象里面没有id值,与session也没有关联

2.持久态:对象里面有id值,与session有关联

3.托管态:对象里面有id值,与session没有关联

五、Hibernate缓存

框架中提供很多优化方式,缓存就是其中一种。

1.一级缓存

  1. hibernate的一级缓存是默认打开的
  2. hibernate的一级缓存是在session范围内使用的,从session创建到session关闭
  3. hibernate的一级缓存中,存储数据必须是持久态数据

2.二级缓存(了解)

  1. 目前不再使用,替代技术redis
  2. 二级缓存默认不是打开的,需要配置
  3. 适用范围是SessionFactory

3.验证一级缓存存在

  1. 首先根据uid查询返回对象
  2. 再次根据uid查询返回对象

    在第一次查询过程中,首先,查询一级缓存,发现一级缓存中没有数据,才会对数据库进行查询,返回user1对象(持久化对       象),然后把该对象放到一级缓存中。

    第二次查询时,查询一级缓存内容,发现有对应数据,直接返回。

六、Hibernate绑定session

  • 获取与本地线程绑定的session
  1. 在hibernate的核心配置文件中配置

调用sessionFactory里面的方法得到,这个方法在HibernateUtils里面

七、Hibernate的api使用

  • Query对象
  1. 使用query对象,需要写hql语句。sql操作的是表和字段,而hql操作的是实体类和属性

  • Criteria对象
  1. 使用这个对象执行查询操作,不需要写语句,直接调用方法就行

  • SQLQuery对象
  1. 底层sql实现

    可以设置返回的list集合中每部分都是实体类对象

猜你喜欢

转载自blog.csdn.net/weufengwangshi_/article/details/86590726