Spring Data JPA: Sortierung und paging mit verknüpften Tabellen

Habe ich ein Szenario, wo ich will, zu filtern, zu Sortieren und die Seite über eine Folge, wo 3 Tische nehmen Teil.

Im moment nutze ich Spring Data JPA ist die Spezifikation Funktion um es auf eine einzige Person: repository.findAll(specification, pageRequest).

Diese funktioniert Super, aber jetzt habe ich ein weiteres Szenario, in dem die Sortierung /filter-Attribute, die sich auf 3 Tabellen, die miteinander verbunden sind durch die eins-zu-viele-Beziehungen.

Hier ist mein Szenario:

@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;
}

Gibt es eine Möglichkeit zu nutzen PageRequest und Specification wo customerNumber, itemNumber und validDate sind für die Filterung, Sortierung und paging in der gleichen Zeit?

  • Vergessen Sie nicht zu akzeptieren/upvote Antworten haben dir geholfen.
InformationsquelleAutor Tobi | 2017-08-17
Schreibe einen Kommentar