gpt4 book ai didi

java - 将每个参数的 native 查询传递给 JpaRepository 接口(interface)

转载 作者:行者123 更新时间:2023-11-30 02:32:16 24 4
gpt4 key购买 nike

我需要创建一个扩展 JpaRepository 的接口(interface),我想在其中传递 native (选择)query通过参数而不是在 @Query 中保留静态注解。而不是使用 @Query (value = "select * from a where a =: a", nativeQuery = true)我想使用下面的示例代码。

 public interface MeuRepository extends JpaRepository<MeuEntity, Integer>{

@Query(value = query, nativeQuery = true)
List<MeuEntity> findCustomNativeQuery(String query);
}

是否可以按照上面示例的代码进行操作?怎么办?

最佳答案

如果您必须使用 native 查询,则使用自定义实现来实现。

public interface  MeuRepositoryCustom {
List<MeuEntity> findCustomNativeQuery(String query);
}

然后

public class  MeuRepositoryImpl implements  MeuRepositoryCustom{

@PeristenceContext
private EntityManager em; // here you will get plain EntityManager impl.

List<MeuEntity> findCustomNativeQuery(String query){

TypedQuery<MeuEntity> q=em.createQuery(query,MeuEntity.class)
return q.getResultList();
}
}

最后是你的存储库界面

public interface MeuRepository extends JpaRepository<MeuEntity, Integer>, MCustomRepository{

}

请注意,命名在这里至关重要,因为自定义接口(interface)必须命名为 ***Custom 并且其实现必须为 ***Impl

了解更多信息https://docs.spring.io/spring-data/data-commons/docs/1.6.1.RELEASE/reference/html/repositories.html第1.3点

这是新版本的文档

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.custom-implementations

关于java - 将每个参数的 native 查询传递给 JpaRepository 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43986667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com