我有一個場景,我想過濾,排序和翻頁3個表參與的結果。Spring數據JPA:使用連接表進行排序和分頁
目前我使用Spring Data JPA的規範功能在單個實體上執行此操作:repository.findAll(specification, pageRequest)
。
這很好,但現在我有另一種場景,其中排序/篩選器屬性分佈在3個表,通過一對多關係連接。
這裏是我的情況:
@Entity
public class CustomerEntity ... {
...
@Column(nullable = false)
public String customerNumber;
@OneToMany(mappedBy = "customer", cascade = CascadeType.ALL, orphanRemoval = true)
public List<CustomerItemEntity> items;
}
@Entity
public class CustomerItemEntity ... {
...
@Column(nullable = false)
public String itemNumber;
@ManyToOne(optional = false)
@JoinColumn(name = "customerId")
public CustomerEntity customer;
@OneToMany(mappedBy = "item", cascade = CascadeType.ALL, orphanRemoval = true)
public List<DocumentEntity> documents;
}
@Entity
public class DocumentEntity ... {
...
@Column(nullable = false)
public LocalDate validDate;
@ManyToOne(optional = false)
@JoinColumn(name = "itemId")
public CustomerItemEntity item;
}
是否有使用PageRequest
和Specification
其中customerNumber
,itemNumber
和validDate
用於過濾,同時排序和分頁的方式?
不要忘記接受/ upvote幫助你的答案。 – Cepr0