【发布时间】:2015-12-15 00:27:10
【问题描述】:
我有一个如下所示的控制器。
public String getAccountsFilter(
@PathVariable("cardHolderId") String cardHolderId,
@RequestParam(value = "accountType", required = false) String accountType,
@RequestParam(value = "name", required = false) String name)
AccountEntity 如下
public class AccountEntity implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
private String accounttype;
private Date endDate;
private boolean active;
private PlanEntity planEntity;
private Set<TransactionEntryEntity> transactionEntry = new HashSet<TransactionEntryEntity>();
我对@987654324@和accountType进行了过滤,使用findByIdAndAccountType()方法很容易,查询是自动生成的。
但如果我想使用id 和name 进行过滤,这是Plan (AccountEntity.PlanEntity.name) 的属性,这并不简单,因为name 来自子表。我怎样才能达到这个标准?
【问题讨论】:
-
您可以使用连接 AccountEntity 和 PlanEntity 并返回与条件匹配的 AccountEntity 对象列表的 JPQL 或 SQL 查询在
AccountEntityRepository中注释方法findByIdAndPlanEntityName。这可能会帮助你oracle.com/technetwork/articles/vasiliev-jpql-087123.html。
标签: java jpa spring-boot spring-data-jpa