我将QueryDSL
与Spring Data JPA
一起使用,并希望执行一些动态搜索。
________ ___________________ _______
| player | | player_team | | team |
|------ | |---------------- | |-------|
| id | | player_team_id (pk) | | id |
| name | | player_id (fk) | | name |
------ | team_id (fk) | -------
-----------
@Entity
@Table(...)
public class Player implements java.io.Serializable {
private Integer idPlayer ;
private String namePlayer;
private Set<PlayerTeam> player_teams = new HashSet<PlayerTeam>(0);
...
}
@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> {
}
如果不在PlayerTeam中添加额外的属性,就不应该将其建模为实体。关于它的条件
player.namePlayer.eq(...)
和
new JPASubQuery().from(playerTeam)
.where(playerTeam.player.eq(player), palyerTeam.team.name.eq(...))
.exists()
我需要创建一个“真正的”动态JPA。我得到一个语句。看起来像: 更新和解决方案得到了两个列表,第一个列表为和工作良好。第二个列表包含或语句,如exspected:
我需要用一个动态搜索条件列表来排序一个动态对象列表。所以我有一个方法接受 } 它以一种方式排序。如果我在ASC中对一个字段进行排序,那么在DESC中对另一个字段进行排序,ASC排序将丢失。请帮忙。我刚到爪哇。
规则 Sentinel 的理念是开发者只需要关注资源的定义,当资源定义成功后可以动态增加各种流控降级规则。Sentinel 提供两种方式修改规则: 通过 API 直接修改 (loadRules) 通过 DataSource 适配不同数据源修改 手动通过 API 修改比较直观,可以通过以下几个 API 修改不同的规则: FlowRuleManager.loadRules(List<FlowRule>
我需要将此查询复制到JPA CriteriaBuilder代码中: 这是我的代码:
有没有一种方法可以通过使用集合名称变量来概括它
我们都知道,我们注册广播接收机有两种类型 动态注册 但我的疑问是什么时候我们需要使用,什么时候我们需要使用?