怎么使用JPA自定义SQL查询结果
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇内容介绍了"怎么使用JPA自定义SQL查询结果"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!JP
千家信息网最后更新 2025年01月21日怎么使用JPA自定义SQL查询结果
本篇内容介绍了"怎么使用JPA自定义SQL查询结果"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
JPA自定义SQL查询结果
很多时候都会遇到自定义sql,自定义返回字段,而不是pojo类。这个情况要通过接口定义返回。
直接上代码
@Query(value = "select m.field AS field,COUNT(m.field) AS size from MigrationObject m where m.xmlName = ?1 and m.groupName = ?2 group by m.field") ListgetKey(String xmlName, String groupName);
对于这种情况,只返回了两个字段,就需要定义一个接口来接收(注意AS别名的配置)
public interface WorkCenter { String getField(); String getSize();}
最后跑一下demo代码
Listlist = migrationObjectRepository.getKey("EN_Work centerResource.xml","Key"); for (WorkCenter workCenter:list){ System.out.println(workCenter.getField()); System.out.println(workCenter.getSize()); }
ARBPL
5
SPRAS
2
CANUM
2
ENDDA
1
WERKS
5
JPA的SQL查询
一 点睛
JAP通过SQL查询一般有两种方法:通过NamedQuery查询和使用@Query查询。
二 JPA的NamedQuery查询
1 说明
Spring Data JPA支持用JPA的NameQuery来定义查询方法,即一个名称映射一个查询语句。
2 定义
@Entity @NamedQuery(name = "Person.withNameAndAddressNamedQuery",query = "select p from Person p where p.name=?1 and address=?2")public class Person { ......}
3 使用方法
public interface PersonRepo extends JpaRepository{ //使用的是NameQuery里定义的查询语句,而不是根据方法名称来查询 Person withNameAndAddressNamedQuery(String name,String address);}
三 使用@Query查询
1 使用参数索引
public interface PersonRepo extends JpaRepository{ @Query("select p from Person p where p.address= ?1") List findByAddress(String address);}
2 使用命名参数
public interface PersonRepo extends JpaRepository{ @Query("select p from Person p where p.name= :name and p.address= :address") Person withNameAndAddressQuery(@Param("name")String name,@Param("address")String address);}
3 更新查询
public interface PersonRepo extends JpaRepository{ @Modifying @Transactional @Query("update Person p set p.name=?1") int setName(String name);//表示更新语句影响的行数}
"怎么使用JPA自定义SQL查询结果"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
查询
方法
结果
情况
语句
代码
内容
参数
名称
字段
接口
更多
知识
更新
实用
学有所成
接下来
两个
使用方法
别名
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
电脑维修服务器管理
阿里云服务器加速
最普通的软件开发需要多少钱
四海欢腾服务器
南京正规软件开发服务保障
emby安卓怎么添加服务器
网站部署到服务器上无法打开网页
在家工作网络安全
网络安全与职责是干什么的
虎胆龙威里面的服务器
数据库怎么查看当前表序列
服务器监控管理 免费
山西pdu服务器电源哪家强
网络安全法立法主要内容
怎么联系到国外软件开发者
量子通信和网络安全
网络安全法 主管人员
网络安全主题会议资料
查找数据库某个字段
软件开发要什么笔记本电脑好
2021年是国家网络安全第几届
nas 设置tcp测试服务器
北京科技大学互联网行业
南京正规软件开发服务保障
对软件开发的看法面试
软件开发app上海
mc遗忘之地服务器
网络安全控制是
海南管理软件开发公司
百度账号网络安全风险