Java Spring JPA存储库查询返回null
SpringJPA存储库查询返回null,但如果我在数据库上运行相同的查询,它将返回结果。我找不到jpa查询返回null的原因 存储库类:Java Spring JPA存储库查询返回null,java,spring,spring-mvc,spring-data-jpa,repository,Java,Spring,Spring Mvc,Spring Data Jpa,Repository,SpringJPA存储库查询返回null,但如果我在数据库上运行相同的查询,它将返回结果。我找不到jpa查询返回null的原因 存储库类: public interface RelatorioContribuinteInadimplenteRepository extends JpaRepository<RelatorioContribuinteInadimplenteView, String>{ @Transactional(readOnly = true, timeout
public interface RelatorioContribuinteInadimplenteRepository extends JpaRepository<RelatorioContribuinteInadimplenteView, String>{
@Transactional(readOnly = true, timeout = 600)
@Query(value = " SELECT EMPLOYEE_FORM_ID"
+ " FROM EMPLOYEE_FORM"
+ " WHERE FORM_TYPE_CD = ?1 ", nativeQuery = true)
List<RelatorioContribuinteInadimplenteView> findByFilters(String code);
}
数据库中的表是:
CREATE TABLE EMPLOYEE_FORM
( "EMPLOYEE_FORM_ID" CHAR(12 BYTE) NOT NULL ENABLE,
"FORM_TYPE_CD" CHAR(12 BYTE) DEFAULT ' ' NOT NULL ENABLE,
PRIMARY KEY ("TAX_FORM_ID")
);
问题是,您只找到一列
选择员工\u表单\u ID
,但尝试填充整个实体RelatorioContribuidinaImplementView
,然后框架会丢失,因为它不知道如何填充您的实体
使用此选项:
SELECT*FROM…
您是否尝试过对数据库进行sql查询?您确定预期的数据存在吗?您在查询中使用的代码是什么?它必须是12个字符长,只要您使用'CHAR(12)作为数据类型。所以你需要te前缀加空格,使其长度为12。正如我前面提到的,sql返回数据库中预期的数据。我使用上述实体映射表字段
CREATE TABLE EMPLOYEE_FORM
( "EMPLOYEE_FORM_ID" CHAR(12 BYTE) NOT NULL ENABLE,
"FORM_TYPE_CD" CHAR(12 BYTE) DEFAULT ' ' NOT NULL ENABLE,
PRIMARY KEY ("TAX_FORM_ID")
);