我是靠谱客的博主 微笑发卡,最近开发中收集的这篇文章主要介绍jpa常用方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

JPARepository

 

查询的方式:

1. 借助接口中定义好的方法完成查询

2. 使用Specification接口中的方法查询

3. 使用jpql语句查询,需要在方法上添加@Query注解

4. 使用原生的sql语句查询,需要在方法上添加@Query注解, nativeQuery = true

 

@Query注解中可以使用占位符,默认情况下,占位符的位置需要和方法参数中的位置保持一致

可以指定占位符参数的位置,?1代表取第一个参数,?2代表 取第二个参数

 

@Modifying 使用@Query注解时,更新或者删除操作需要在方法上加上这个注解

还需要在service层中添加@Transactional注解添加事务支持

事务默认结束后会回滚事务,还需要添加@Rollback(value=false)

 

findOne(id)   根据id查询

 

save()

保存或者更新,根据传递的对象是否存在主键id,如果没有id主键属性,保存。存在id主键属性,根据id查询数据,更新数据

 

delete() 根据id删除数据

 

findAll() 查询全部

 

count() 查询全部的数量

 

exists() 查询是否存在

 

getOne() 根据id从数据库查询, getOne() 延迟加载,findOne() 立即加载

 

 

Specification查询

需要实现JpaSpecificationExecutor接口

自定义我们的specification实现类,有三个参数

root: 查询的根对象(查询的任何属性都可以从根对象中获取)

criteriaQuery: 顶层查询对象,自定义查询方式(了解,一般不用)

criteriaBuilder:查询的构造器,封装了很多的查询条件

 

多表的查询

1. 对象导航查询

查询一个对象的同时,通过此对象查询他的关联对象

对象导航查询默认使用的是延迟加载的形式查询,调用get方法并不会立即发送查询,而是在使用关联对象的时候才会查询

修改配置,可以将延迟加载改为立即加载, fetch:需要配置到多表映射关系的注解上

从一方查询多方:默认使用延迟加载

从多方查询一方:默认使用立即加载

 

 

 

 

 

 

 

 

最后

以上就是微笑发卡为你收集整理的jpa常用方法的全部内容,希望文章能够帮你解决jpa常用方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部