JPA二级缓存、乐观锁

JPQL

内连接和外连接的区别和适用场景

内连接时,返回查询结果集合中的仅是符合查询条件( WHERE 搜索条件或 HAVING条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行

sql连接语句

​ 内连接:inner join

​ 左外连接:left join

​ 右外连接:right join

​ 全外连接:mysql不支持

JPQL:join不需要on,条件是对象.属性

分页

在这里插入图片描述
查询总条数:Long count= (Long)querySingleResult()

JPQL语句运行时翻译为原生SQL

​ 1.并不是所有的sql都有对应的JPA方法(JPQL)

​ 2、JPA效率低:

*	不重要的地方,写JPA,JPQL

	*	使用缓存(一级、二级)
	*	需要重点优化的地方写原生sql
事务:
* 原子性:同一组事务,同时成功,同时失败
* 一致性:事务操作完成后,两边数据结果一致(能量守恒)
* 隔离性:一组事务执行时,不受另一组事务的影响
* 持久性:提交了事务,数据就保存到断电不丢失数据的设备中

事务并发的问题:

​ 大问题:

丢失更新问题 --多个事务同时进行更新操作

脏读 – 一个事务读取到另一个事务提交更新前的数据

​ 小问题:

不可重复 – 一个事务督导另一个事务update更新前后的数据

幻读(虚读) – 一个事务读到另一个事务insert插入前后的数据

悲观锁:只允许同时只有一个事务执行,效率低,安全性高

乐观锁:打标记,效率较高,安全性较低

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值