Получение ошибки типа «нет запроса на сопоставление нуля с именем null» при вызове хранимой процедуры, которая возвращает REF_CURSOR
в качестве результата, используя @NamedStoredProcedureQuery
.
Та же самая процедура, которую я могучтобы вызвать оператор Callable
.
Но когда я попробовал другую процедуру (которая возвращает OUT
параметр в качестве вывода), работает нормально.
@NamedStoredProcedureQuery(
name = "test1",
procedureName = "test1",
resultClasses = Result.class,
parameters = {
@StoredProcedureParameter(mode = ParameterMode.REF_CURSOR, type = void.class),
@StoredProcedureParameter(mode = ParameterMode.IN, type = Long.class,name = "ID")
}
)
EntityManagerFactory factory = Persistence.createEntityManagerFactory("persistenceUnit");
EntityManager manager = factory.createEntityManager();
StoredProcedureQuery q = manager.createNamedStoredProcedureQuery("test1");
manager.getTransaction().begin();
q.setParameter("ID",5);
q.execute();
List<Result> resultList = (List<Result>)q.getResultList();
Ожидаемая вещь:
List<Result> resultList = (List<Result>)q.getResultList();
После выполнения этой строки результат должен отобразиться на resultList
.