简体   繁体   English

通过参数泛型方法查找JPA存储库

[英]JPA Repository find by param generic method

I have a generic interface that extends the JpaRepository , I've overridden some methods and I want to create a new generic method to find records by field name and its value. 我有一个扩展JpaRepository的通用接口,我已经重写了一些方法,并且我想创建一个新的通用方法以按字段名称及其值查找记录。

eg : 例如:

@Query("SELECT gr FROM #{#entityName}  gr WHERE gr.#{#fieldName}=(:value) AND gr.deletedAt = NULL")
List<T> findByParam();

fieldName and value are @RequestParam objects. fieldNamevalue@RequestParam对象。

{

    @Override
    @Query("SELECT gr FROM #{#entityName}  gr WHERE gr.deletedAt = NULL")
    List<T> findAll();

    @Override
    @Query("SELECT gr FROM #{#entityName}  gr WHERE gr.id=(:pId) AND gr.deletedAt = NULL")
    Optional<T> findById(@Param("pId") Integer pId);
}

It seems like this has been answered in this thread : 似乎此线程已回答了这个问题:

Using generics in Spring Data JPA repositories 在Spring Data JPA存储库中使用泛型

I wanted to write my own answer, but this one is already well written and should give you what you are looking for. 我想写自己的答案,但是这个答案已经写得不错,应该可以为您提供所需的答案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM