【发布时间】:2020-04-11 11:01:48
【问题描述】:
我的存储库是这样定义的:
@Repository
public interface RefreshJobDetailRepository extends JpaRepository<RefreshJobDetailEntity, Long> {
@Query(nativeQuery = true, value = NATIVE_SUMMARY_QUERY_PARTIAL + " WHERE rjd.refresh_job_identifier = ?1" +
" group by (rjd.refresh_job_identifier)) as rc")
RefreshSummary getRefreshJobDetailSummaryById(String refreshJobId);
interface RefreshSummary {
// getters
}
String NATIVE_SUMMARY_QUERY_PARTIAL = "select ...";
}
当我运行它时,我得到以下异常:
org.springframework.dao.InvalidDataAccessApiUsageException:参数绑定的名称不能为空或空!在 JDKs
让我困惑的是我没有使用“命名参数”。这是一个位置参数。那么这个错误告诉我什么?我们在代码的其他地方使用位置参数并且没有设置-parameters 标志,但这是唯一的本机查询。不知道这样有没有区别?顺便说一句,数据库是 Postgresql。
【问题讨论】:
标签: java spring hibernate java-8 spring-data