Я подключаюсь к оракулу БД.Я только что решил проблему с зависимостью (в следующем URL-адресе есть необходимый код, такой как репозиторий, сущность и т. Д.):
хранимая процедура spring-data-jpa 1.11.16 с курсором
Теперь я сталкиваюсь с проблемой исключения, когда вызываю репозиторий.Репозиторий отправил мне обратно список ForwardOnlyResultSet, и я не могу отобразить свои результаты.Это ошибка:
Cannot cast 'oracle.jdbc.driver.ForwardOnlyResultSet' to 'procedure.entity.PocRegions'
Моя процедура Oracle / PLL состоит в следующем:
PROCEDURE PRO_RETURN_REGION(
id_region IN POC_REGIONS.REGION_ID%TYPE,
o_cursor OUT SYS_REFCURSOR) is
BEGIN
--Opening the cursor to return matched rows
open o_cursor for
select *
from POC_REGIONS
where POC_REGIONS.REGION_ID = id_region;
END PRO_RETURN_REGION;
Затем я попытался реализовать вызов с помощью вызовов jpa и Spring-data-jpa:
StoredProcedureQuery query = entityManager.createStoredProcedureQuery( "POC_PKG_GEO.PRO_RETURN_REGION");
query.registerStoredProcedureParameter("id_region", BigDecimal.class, ParameterMode.IN);
query.registerStoredProcedureParameter("o_cursor", void.class, ParameterMode.REF_CURSOR);
query.setParameter("id_region", id);
query.execute();
//Contains a forwardonlyreswultset (jpa call)
Object res = query.getOutputParameterValue("o_cursor");
//Contains an array of 2 Object not mapped (jpa call)
List<PocRegions> resultList = query.getResultList();
//Contains a forwardonlyreswultset (spring-data-jpa call)
List<PocRegions> region = geoRegionRepo.getRegion(id);
Как мне следует преобразовать / отобразить найденное значение в мою сущность?
Спасибо