【发布时间】:2014-09-07 16:32:56
【问题描述】:
我正在使用QueryDSL 和Spring Data Jpa,我想执行一些动态搜索。
我关注这个Answer 和BooleanBuilder 没关系,但就我而言,我必须加入。
那么,如果我在player、player_team、team 上有 3 个连接,并且我在球员姓名和他的球队名称上有可选参数,我该怎么做呢?
________ ___________________ _______
| player | | player_team | | team |
|------ | |---------------- | |-------|
| id | | player_team_id (pk) | | id |
| name | | player_id (fk) | | name |
------ | team_id (fk) | -------
-----------
player.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);
...
}
team.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);
...
}
player_team.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> {
}
【问题讨论】:
-
领域模型是什么样子的?
-
我已经更新了我的问题
-
给出领域模型的代码。什么搜索?什么加入?
标签: spring hibernate jpa spring-data querydsl