Похоже, что связанные вопросы не совсем соответствуют тому, что я пытаюсь сделать.
@Repository
public interface FooRepository extends JpaRepository<FooEntity, Integer> {
@Query("select child from BarEntity p inner join p.fooColumn child where p = :parent")
Page<FooEntity> findBy(@Param("parent") HasFooInterface parent, Pageable pageable);
}
Это запрос, который возвращает страницы FooEntity, где BarEntity является родителем в отношении.
Я хочу, чтобы запрос был определен в общем виде. Объект parent
, который является экземпляром HasFooInterface, всегда будет сущностью, имеющей отношение к Foo (в этом примере BarEntity).
Так, где это говорит @Query("select child from BarEntity p inner join p.fooColumn child where p = :parent")
Я хочу иметь возможность параметризовать, что "BarEntity" будет
@Query("select child from _?parent.getClass.getSimpleName()?_ p inner join p.fooColumn child where p = :parent")
Что я могу заменить здесь, чтобы получить необходимую мне функциональность?