Spring data jpa - 如何通过方法名组合多个And和Or

新手上路,请多包涵

我正在尝试迁移应用程序。我正在从 Hibernate 到 Spring Data Jpa 工作

尽管 spring data jpa 提供了简单的查询构建方法,但我仍然坚持创建同时使用 AndOr operator 的查询方法。

方法名称 - findByPlan_PlanTypeInAndSetupStepIsNullOrStepupStepIs(...)

当它转换为查询时,前两个表达式组合在一起并执行为 [(exp1 and exp2) or (exp3)]

而必需的是 ](exp1) and (exp2 or exp3)]

谁能告诉我这是否可以通过 Spring data jpa? 实现

原文由 Preethi Ramanujam 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
1 个回答

同意 Oliver 关于冗长且不可读的方法名称的观点,但是为了论证,您可以通过使用等效项来获得预期的结果

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

所以在你的情况下它应该是这个样子:

 findByPlan_PlanTypeInAndSetupStepIsNullOrPlan_PlanTypeInAndStepupStepIs(...)

原文由 Damir Djordjev 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题