У меня есть класс DocumentData
:
@Data //Lombok
public class DocumentData {
private Long documentId;
private Long binderId;
private String containerCode;
private String barcode;
private Long clientId;
}
У меня есть мой репозиторий:
public interface DocumentArchiveRepository extends JpaRepository<DocumentArchive, Long> {
String QUERY_GET_DOCUMENT_DATA = "SELECT DISTINCT d.id_document, pd.id_binder, s.container_code, d.barcode, k.id_client FROM table1 pd \n"
+ "JOIN table2 d ON pd.id_document = d.id_cokument\n"
+ "JOIN table3 s ON s.id = pd.id_binder \n"
+ "JOIN table4 k ON k.id_document = d.id_document\n"
+ "WHERE pd.id_position = 10122 AND d.id_document in :documentIds";
@Query(value = QUERY_GET_DOCUMENT_DATA, nativeQuery = true)
List<DocumentData> getDocumentData(@Param("documentIds") List<Long> documentIds);
Когда я хочу получить данные:
List<DocumentData> documentData = repository.getDocumentData(documentIds);
Я получаю следующую ошибку:
org.springframework.core.convert.ConverterNotFoundException: не найден конвертер, способный к преобразованию из типа [org.springframework.data.jpa.repository.query.AbstractJpaQuery $ TupleConverter $TupleBackedMap], чтобы ввести [pl.ultimo.retention.archive.dto.DocumentData] в org.springframework.core.convert.support.GenericConversionService.handleConverterNotFound (GenericConversionService.java:321) ~ [springEL core-5.1. 4.4.jar: 5.1.4.RELEASE] в org.springframework.core.convert.support.GenericConversionService.convert (GenericConversionService.java:194) ~ [spring-core-5.1.4.RELEASE.jar: 5.1.4.RELEASE] вorg.springframework.core.convert.support.GenericConversionService.convert (GenericConversionService.java:174) ~ [spring-core-5.1.4.RELEASE.jar: 5.1.4.RELEASE]
СледуетЯ изменяю свой код на List<Object>
или сопоставить результаты с DocumentData
?Или, может быть, есть лучшее решение?