我在用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> {
}