У меня есть объект, который выглядит следующим образом:
@Entity
@Table(name = "FooTable")
public class FooEntity {
private Collection<BarEntity> bar;
@OneToMany(mappedBy = "fooField")
public Collection<BarEntity> getBars() {
return bar;
}
public void setBars(Collection<BarEntity> barByFooId) {
this.bar = barByFooId;
}
}
В основном отношения один ко многим.
Что я хочу, так это то, что когда у меня есть экземпляр FooEntity
, я хочу иметь возможность вернуть ассоциированный Collection<BarEntity>
с разбивкой по страницам, используя Spring Page.
Я настроил это таким образом в своем хранилище:
@Override
@Query("select child from FooEntity p inner join p.barField child where p = :parent")
public Page<BarEntity> findBy(FooEntity parent, Pageable pageable)
Который работает. Для одного отношения.
Тем не менее! Многие из моих моделей сущностей имеют отношение один-ко-многим с так называемым BarEntity
. То, что мне нужно, - это способ сказать пружине Always разбить мои связанные сущности на страницы, потому что я бы не стал писать конкретную реализацию для каждой сущности, имеющей этот тип отношений.
Можно ли как-то определить это поведение с помощью минимального повторения кода?