首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAVA Spring Boot - existsByColumne1AndNotColumn2存储库查询

JAVA Spring Boot - existsByColumne1AndNotColumn2存储库查询
EN

Stack Overflow用户
提问于 2020-04-24 23:35:49
回答 1查看 55关注 0票数 0

我正在使用Java Spring Boot,我想在其中创建默认查询,以查找具有给定手机号码的用户是否已经存在,而不是具有给定用户id的用户。一个原始查询是这样的

代码语言:javascript
复制
SELECT * FROM `user` WHERE mobile = "9898989898" AND user_id != 123

我确实发现,要检查单个列中是否存在该列中的数据,我们可以在Repository类中这样做

代码语言:javascript
复制
Boolean ExistWithMobile(String mobile)

如果找到具有给定手机号码的行,则返回true或false。

同样的方式,我想查询类似于上面,但这是不工作的

代码语言:javascript
复制
Boolean existsByMobileAndNotUserId(String mobile, Long userId);

无论此电话号码是否可用于其他userId,都应返回true或false

我知道如何处理原始查询,因为我在问题的开头已经提到过,但我想要这样的直接查询方式,而不是原始查询。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-04-24 23:55:15

如果您不想使用原生sql查询,则可以使用HQL。

在您的案例中:

代码语言:javascript
复制
@Query("from User u Where u.mobile = :mob and u.id != :id")
Optional<User> findUserByMobile(@Param("mob") String mobile, @Param("id") long id)

当你调用时:

代码语言:javascript
复制
Optional<User> user = repo.findUserByMobile(mobile, uid);
if( user.isPresent() ) { ... }

下面是spring data中@Query的文档:Spring Data JPA

祝好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61412049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档