前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Data JPA @Query注解的用法

Spring Data JPA @Query注解的用法

作者头像
似水的流年
发布2019-12-06 14:04:35
2.2K0
发布2019-12-06 14:04:35
举报
文章被收录于专栏:电光石火电光石火

1、默认配置下, 使用了@Query注解后就不会再使用方法名解析的方式了,上面这种事依然是面向对象查询,sql语句中写实体类名和属性名, :后加变量,表示这是一个参数,类似sql预编译的 ?

代码语言:javascript
复制
@Query("from User where userId = :userId")
User findByUserId(@Param("userId") userId);

2、当不需要表中的全字段时,可自定义dto类来接受查询结果,这种方法要注意使用new + dto类全路径+ (别名.field1, 别名.field2, 别名.field3), 且dto类中必须有对应参数结构的构造函数!别忘记加上无参的构造函数!

代码语言:javascript
复制
@Query("select new com.user.domain.UserDto(a.userName, a.gender) from User a where userId = :userId")
UserDto findByUserId(@Param("userId") userId);

3、使用注解属性 native=true(默认false),可执行原生sql语句

代码语言:javascript
复制
@Query(value="select * from t_user where user_id = :userId", native=true)
User findByUserId(@Param("userId") userId);

4、修改操作加上 @Modify注解

代码语言:javascript
复制
@Query(value="update User set userId = :userId")
@Modify
User findByUserId(@Param("userId") userId);
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档