Wenn ich habe folgende abgebildet Sammlung in einer POJO mit JPA/Hibernate Annotations:Ist es möglich, die Größe einer @ OneToMany-Sammlung mit Hibernate- oder JPA-Anmerkungen zu begrenzen?
@OneToMany(mappedBy = "columnName", fetch = FetchType.LAZY)
@OrderBy("aField")
@MapKeyJoinColumn(name = "id_fk")
@LazyCollection(value = LazyCollectionOption.EXTRA)
private Set<PojoClass> collection = new HashSet<>();
Ist es möglich, die Größe der geladenen Sammlung auf eine bestimmte Anzahl n oder zur Einstellung der Seitengröße zu faul Last zu begrenzen, die ersten n Elemente der Sammlung, ohne alle Elemente oder andere Elemente von anderen Instanzen der Klasse zu laden (wie mit @BatchSize)?
Beachten Sie, dass sich die Frage explizit auf POJO-Zuordnungen bezieht, keine zusätzlichen Abfragen durchführt, Criteria verwendet oder die Größe in expliziten Abfragen programmgesteuert begrenzt.
Mögliche Lösungen, die ich untersucht habe, sind eine Implementierung der SQL TOP - Anweisung in Hibernate, hoffentlich als Annotation oder zum Erstellen einer benutzerdefinierten CollectionPersister, um die generierte Abfrage zu ändern (obwohl dies die TOP - Anweisung innerhalb der implementiert hätte unterstützte Dialekte).