Разбивка всех коллекций на отношения сущностей в JPA - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть объект, который выглядит следующим образом:

@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 разбить мои связанные сущности на страницы, потому что я бы не стал писать конкретную реализацию для каждой сущности, имеющей этот тип отношений.

Можно ли как-то определить это поведение с помощью минимального повторения кода?

...