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

时间:2019-06-11 19:46:17

标签: java spring-boot jpa spring-data-jpa spring-repositories

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

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);
}

2 个答案:

答案 0 :(得分:1)

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);
}

答案 1 :(得分:0)

这是三个问题:

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

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

  3. 如何创建具有动态返回类型的查询方法。

最后一个您可以使用dynamic projections进行的操作,但是它只会将结果转换/包装为所需类型的代理,这样很可能不会真正帮助您。

您可以使用custom method implementation写一个Criteria API来完成数字2。

数字1与this question重复。