如何在JPA Repositories中创建优先查询

3
我将尝试通过以下查询在查看页面上显示来自数据库的一组记录:
findByFirstNameOrSurNameAndGroupG_Name

但它并没有按我想象的那样工作!我希望它的工作方式是:(findByFirstNameOrSurName)AndGroupG_Name

正确的语法是什么?


总是可以编写一个“查询”。 - Scary Wombat
请使用 @Query !! - Abdullah Khan
@AbdullahKhan 这是唯一的方法吗?您能给我一个在JPA中创建查询的示例吗? - Tú Phạm
发布你的实体。 - Abdullah Khan
Spring Data方法名称解析器不支持分组子句(涉及括号)未得到支持 - manish
显示剩余2条评论
1个回答

0

与评论所说的不同,这是完全可以实现的。 唯一的缺点是方法名过长和重复参数。

这只是简单的数学问题,您可以使用等价性将条件组合在一起。

A /\ (B \/ C) <=> (A /\ B) \/ (A /\ C)
A and (B or C) <=> (A and B) or (A and C)

鉴于在编程条件中使用 And (&&),第一个满足条件的优先级更高(如果 && 的第一个条件为假,则不会检查其他条件;如果 ||(或)的第一个条件为真,则不会检查其他条件);

你的方法名称以第一个属性开头具有更高的优先级

由于我提到的事情的结果,您可以通过此方法名称实现所需的内容。

findByFirstNameAndGroupG_NameOrSurNameAndGroupG_Name(String firstName, String groupName,String firstName2, String groupName2)

希望这对你有用

如果需要进一步的帮助,请留言评论


这个问题是两年前的,但我最近遇到了这个问题。现在我来回答它 :) - Farhad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接