Java 将每个参数的本机查询传递给JpaRepository接口
我需要创建一个扩展JpaRepository的接口,在这个接口中,我希望通过参数传递本机select查询,而不是在@query注释中保留静态。我不想使用@Query value=select*from a=:a,nativeQuery=true,而是想使用下面的代码示例 公共接口MeuRepository扩展了JpaRepository{ @Queryvalue=query,nativeQuery=true 列表findCustomNativeQueryString查询; } 是否可以按照上面例举的代码进行操作?Java 将每个参数的本机查询传递给JpaRepository接口,java,spring,spring-data-jpa,Java,Spring,Spring Data Jpa,我需要创建一个扩展JpaRepository的接口,在这个接口中,我希望通过参数传递本机select查询,而不是在@query注释中保留静态。我不想使用@Query value=select*from a=:a,nativeQuery=true,而是想使用下面的代码示例 公共接口MeuRepository扩展了JpaRepository{ @Queryvalue=query,nativeQuery=true 列表findCustomNativeQueryString查询; } 是否可以按照上面例
如何使用?如果必须使用本机查询,请使用自定义实现
public interface MeuRepositoryCustom {
List<MeuEntity> findCustomNativeQuery(String query);
}
然后
最后是您的存储库接口
public interface MeuRepository extends JpaRepository<MeuEntity, Integer>, MCustomRepository{
}
请注意,命名在这里是至关重要的,因为自定义接口必须命名为***custom,其实现必须是***Impl
有关更多信息,请参见第1.3点
这里是文档的更新版本
我需要为我的所有存储库创建一个***自定义和***Impl?Spring数据的全部思想是避免创建自定义的普通查询,如果您想返回,那么是的。威胁将其作为向后兼容机制;但是你可以让你的自定义界面变得通用,让所有的存储库都扩展它。我需要自定义where,这样我就可以传递一个映射并动态地构建where来组成select。明白吗?是的,我会使用CriteriaQuery来实现这一点,看起来这是在定制回购实现中实现这一点的唯一选择。如果你有这样复杂的标准,这就是方法。我不知道如何做到这一点,我需要一步一步
public interface MeuRepository extends JpaRepository<MeuEntity, Integer>, MCustomRepository{
}