如何在单个存储库中为多个实体和多个@query 创建一个 crudrepository

How to create one crudrepository for multiple entity and multiple @query in single repo

我想要这样的东西...我知道有人会得到我想要的东西

public interface PersonneRepo extends JpaRepository<T, Long> {

    @Query("Select p.name, p.surname, p.age, p.city, p.street from "+T+" p where p.nom = ?1 and p.prenom = ?2")
    public T customRequest(String nom, String prenom,String T);
}

这是三个问题:

  1. 如何使用动态类型参数创建存储库

  2. 如何使用动态 from 子句进行查询。

  3. 如何使用动态 return 类型创建查询方法。

最后你可以用 dynamic projections 做,但它只会 convert/wrap 产生所需类型的代理结果,因此很可能不会真正帮助你。

第 2 个你可以写一个 custom method implementation using the Criteria API.

编号 1 与 this question 重复。

public interface PersoRepo<T> extends JpaRepository<T, Long> {

    @Query("Select p.name, p.surname, p.age, p.city, p.street from  #{#entityName} p where p.nom = :nom and p.prenom = :prenom")
    public T customRequest(@Param("nom") String nom, @Param("prenom") String prenom);
}