hibernate学习笔记5 ------ 缓存,注解
来源:互联网 发布:360排名优化 编辑:程序博客网 时间:2024/06/16 13:24
缓存介于应用程序和永久性数据存储源之间,
使用缓存,可以降低应用程序直接读写永久性数据存储源
一、一级缓存 session级 load()
二、二级缓存 sessionFactory级
三、查询缓存
一级缓存:
1、当对象save()时 会自动放入缓存
2、get() 和 load() 有缓存
list() 遍历 无 二级缓存,有查询缓存
iterator() 有缓存
消除缓存
evit()
clear()
contains() 判断指定对象是否在缓存中
flush() 刷新
不是同一个会话,有缓存 ----》 二级缓存来解决
SessionFactory 内
在hibernate 目录下,ehache中
1、缓存包放入项目中
2、将ehcache.xml放在src中
3、配置主配置文件
<property name="cache.use-second-level-cache">
true</>
设置缓存类型,设置缓存提供商
<property name= "cache.region.factory-class">
EhCacheRegionFactory </>
(hibernate 提供的)
4、<class-cache usage="read-only" class="使用的类" />
也可以在实体类中主键之前配置。
查询缓存:
Iterator<> iter = session.createQuery(sql).setCacheable(true).list();
iterate() 在二级缓存比list()t好
list() 只能写不能读出二级缓存
注解:(要么都写在属性上,要么都写在get方法上)
替换复杂的hbm.xml文件间XXHibernate程序开发。
注解配置实体类:
@Entity 将一个类声明为一个实体bean(即一个持久化POJO类)
@Id 声明了该实体bean的标识属性(相当于数据表的主键)
@GeneratedValue 定义标识符的生成策略
@Table 为实体bean映射指定表(table)、目录(catalog)和schema的名称,默认值,实体bean的类名,不带包名
@UniqueConstraint 定义表的唯一约束
@Log 表示属性将持久化为Blob(字节byte[])或者Clob(字符char)类型(Blob:音乐,视频,图片;Clob:小说,文本)
@Column 将属性映射到列
@Transient 将忽略这些字段和属性,不用持久化到数据库
@NamedQuery 配置命名查询
@OneToOne 建立实体bean之间的一对一关联
@OneToMany 一对多
@ManyToOne 多对一
@ManyToMany 多对多
<mapping class="com.hy.Student"/>
@GeneratedValue()
(Strategy=auto)默认序列
@GeneratedValue(generator=" ")
@genericGenerator(name=" (此处为上一行空白处内容) ",strategy="sequence"
parameters={@Parameter(name="sequence",value="自己的序列名")})
@NamedQuery(name="all",query="from Student")
@NamedQueries({@NamedQuery( ),@NamedQuery( )})
多对多映射关系
@OneToMany 写在get方法上面
@OneToMany(MappedBy="dept",cascade="CascadeType.ALL",fetch="FetchType.LAZY") 多的一方对一方的依赖属性
@LazyCollection
@ManyToOne
@JoinColumn(name="(外键名称)")
@ManyToMany(@JoinTable(name="teachers_courses",joinColumns={@JoinColumn(name=" ")},inverseJoinColumn={@JoinColumn(name=" ")}))
@MantToMany(mappedBy=" ") 指定该名对方进行维护
@OneToOne(mappedBy=" ")
@OneToOne
@JoinColumn(name=" ")
注解的缓存: 二级缓存
@Cache(usage=CacheConcurrencyStrategy.Read_Write)
- hibernate学习笔记5 ------ 缓存,注解
- Hibernate缓存学习笔记
- Hibernate缓存学习笔记
- Hibernate学习笔记之缓存
- Hibernate学习笔记----session缓存
- Hibernate缓存机制学习笔记
- SpringBoot缓存注解学习笔记之Redis
- Spring注解整合(hibernate+mybatis) 学习笔记
- Hibernate二级缓存的注解(学习笔记)
- Hibernate学习笔记-----------缓存的知识
- hibernate学习笔记(session一级缓存)
- hibernate缓存机制(学习笔记)
- Hibernate学习笔记之三种缓存
- Hibernate学习笔记(4)之缓存
- hibernate学习笔记03----一级缓存
- 【Hibernate学习笔记】Session清空缓存与清理缓存
- Hibernate学习笔记之session缓存(一级缓存)
- Hibernate学习笔记(六)--管理Hibernate的缓存
- 数据结构(一):线性表的顺序存储结构-顺序表的实现
- 线段树
- Redis Jedis的使用(上)
- Kubernetes系列03:Guestbook示例:Hello World详解
- Roll模型—高频交易择时策略的有效解决方法
- hibernate学习笔记5 ------ 缓存,注解
- 转导推理——Transductive Learning
- 编程之美-2.13 子数组最大乘积
- Linux学习篇第二章~unit3
- Ubuntu下安装Chrome浏览器的两个方法
- cisco 的网络地址转换技术(NAT)
- MySQL数据类型
- Til the Cows Come Home 【SPFA】 【djk】
- 集合框架