按条件动态搜索

2024-01-25

我在用QueryDSL with Spring Data Jpa我想执行一些动态搜索。

我遵循这个Answer https://stackoverflow.com/a/23896303/3756879没关系BooleanBuilder但就我而言,我必须加入。

那么,如果我有 3 个连接,我该如何做到这一点player, player_team, team我有关于球员姓名和球队名称的可选参数吗?

 ________       ___________________       _______
| player |    | player_team         |    | team  |
|------  |    |----------------     |    |-------|
| id     |    | player_team_id (pk) |    | id    |
| name   |    | player_id (fk)      |    | name  |
  ------      | team_id (fk)        |     -------
                -----------      

播放器.java

@Entity
@Table(...)
public class Player implements java.io.Serializable {

    private Integer idPlayer ;
    private String namePlayer;
    private Set<PlayerTeam> player_teams = new HashSet<PlayerTeam>(0);  
    ...
}

团队.java

@Entity
@Table(...)
public class Team implements java.io.Serializable {

    private Integer idTeam ;
    private String nameTeam;
    private Set<PlayerTeam> player_teams = new HashSet<PlayerTeam>(0);  
    ...
}  

玩家团队.java

@Entity
@Table(...)
public class PlayerTeam implements java.io.Serializable {

    private Integer idPlayerTeam ;
    private Team team;
    private Player paleyr;
    ...
} 

对于每个域,我都有这样的存储库:

public interface PlayerRespository extends JpaRepository<Player, Integer>, QueryDslPredicateExecutor<Player> {

}

如果您不将额外的属性放入 PlayerTeam 中,则不应将其建模为实体。关于条件

player.namePlayer.eq(...)

and

new JPASubQuery().from(playerTeam)
    .where(playerTeam.player.eq(player), palyerTeam.team.name.eq(...))
    .exists()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按条件动态搜索 的相关文章

随机推荐

  • 从分支获取最新 Git 提交哈希的命令

    如何使用命令行检查特定 Git 分支的最新提交哈希值 git log n 1 branch name branch name 可能是远程或本地分支 是可选的 没有branch name 它将显示当前分支上的最新提交 例如 git log n
  • Clang - 将 C 标头编译为 LLVM IR/位码

    假设我有以下简单的 C 头文件 foo1 h typedef int foo typedef struct foo a char const b bar bar baz foo bar 我的目标是获取这个文件 并生成一个看起来像这样的 LL
  • 树莓派-gpio (sysfs) 上的 poll() 树莓派

    正如标题所述 我在将一些用户空间中断代码从另一个 armv7 嵌入式 Linux 平台移植到 Raspberry Pi 2 Model B 时遇到问题 我知道 WiringPi 库 并让它以这种方式工作 但出于评估原因 我希望在两个平台上运
  • 无法同时处理点击和触摸事件

    我正在尝试处理按钮上的触摸事件和单击事件 我执行以下操作 button setOnClickListener clickListener button setOnTouchListener touchListener 当注册任何一个侦听器时
  • Windows 每种语言版本的默认代码页

    在哪里可以找到有关 Windows 每种语言版本的默认代码页的信息 即 ANSI 每种语言版本的代码页 我找到了Windows 支持的代码页 http msdn microsoft com en us goglobal bb964654 a
  • 构建 AOSP 并添加具有运行时权限的系统应用程序

    我在 Android 6 AOSP 上工作 我能够构建添加应用程序作为系统应用程序 但现在我想在这个系统应用程序上默认添加运行时权限 这样应用程序就可以启动而无需要求用户验证权限 你知道我该怎么做吗 谢谢你的帮助 如果您的应用程序具有特权
  • 为什么 getSelectedItem 返回 null?

    我刚刚学习 OOP 对这篇基本文章感到抱歉 我不知道为什么当我尝试获取所选项目的值时它返回 nullJComboBox public class AddEmployee extends javax swing JInternalFrame
  • 所见即所得与所见即所得

    在基于 Web 的应用程序中 哪一个更好 更理想 Edit 实际上我正在开发一个社区网站 所以用户的水平可能会有所不同 听说 WYSIWYG 编辑器存在 XSS 安全问题 我也不熟悉所见即所得编辑器及其功能 据我所知WYSIWYM 编辑器中
  • python-从json对象中选择唯一的键值

    我有一个json回复 data id 1 name Tom age 24 id 2 name Nick age 45 id 3 name Harry age 18 id 1 name Tom age 29 count 4 而且我要outpu
  • Heroku“psql:致命:剩余的连接插槽保留用于非复制超级用户连接”

    我正在 Heroku 上开发一个带有 Postgresql 后端的应用程序 当我尝试从 CLI 和在服务器上加载页面访问数据库时 我会定期收到此错误消息 psql FATAL remaining connection slots are r
  • 结构体作为 Go 映射中的键

    我正在研究使用结构作为 golang 映射中的键 该结构中的字段也应该是映射 这似乎与提供的文档相悖here http blog golang org go maps in action这表示只有具有可比较字段的结构 and 可以位于用作映
  • 什么是 weblogic.socket.Muxer?

    你们中有人了解 weblogic socket Muxer 在 WebLogic 8 1 中的用途吗 我经常在线程转储中看到类似于以下的堆栈跟踪 ExecuteThread 0 for queue weblogic socket Muxer
  • HttpContext.Current.User 始终为 null

    我有一个 WCF 服务 它有一个方法可以返回正在使用该服务的 Silverlight 客户端的 Windows 用户名 WCF 服务使用 basicHttpBinding 并将 TransportCredentialOnly 模式设置为 W
  • 与适用于 Mac 的三星智能电视 sdk 4.1 配合使用

    我有一个愚蠢的问题 我安装 2013 Samsung TV SDK 4 1 MacOS pkg 并下载 2013 Smart TV Emulator 4 1 VB zip 和虚拟盒的安装 ova 文件 所以我想终于一切都完成了 但不是 当我
  • 如何让 JTIdy 使 HTML 文档格式良好?

    我正在使用 JTidy v r938 我正在使用这段代码来尝试清理页面 final Tidy tidy new Tidy tidy setQuiet false tidy setShowWarnings true tidy setShowE
  • Rails 在集成测试中设计经过身份验证的路由

    我想测试应用程序中的每条路线 并了解到我应该在集成测试中执行此操作 在 ruby on Rails 中测试路线的位置 https stackoverflow com questions 5290245 where to test route
  • Python:如何在给定时间调用字典包含的可调用对象?

    我正在使用 python 中的字典对象 其中包含许多键 它们的一些关联值类型是可调用类型 就像是 dico key1 1 key2 cars key3
  • Spark Streaming:接收器故障后如何不重新启动接收器

    我们正在使用自定义 Spark 接收器 它从提供的 http 链接读取流数据 如果提供的http链接不正确 则接收失败 问题是spark会不断重启接收器 并且应用程序永远不会终止 问题是如果接收器失败 如何告诉 Spark 终止应用程序 这
  • DIV 水平和垂直居中[重复]

    这个问题在这里已经有答案了 有没有办法垂直和水平居中 DIV但是 这一点很重要 当窗口小于内容时 不会剪切内容 div 必须具有背景颜色以及宽度和高度 我总是使用绝对定位和负边距将 div 居中 如提供的示例中所示 但它有一个问题 就是把上
  • 按条件动态搜索

    我在用QueryDSL with Spring Data Jpa我想执行一些动态搜索 我遵循这个Answer https stackoverflow com a 23896303 3756879没关系BooleanBuilder但就我而言