Pessoal, bom dia.
Estou tendo problemas ao passar um parâmetro do tipo cursor no java no momento que chamo uma proc do oracle.
Tenho uma procedure que o parâmetro é um cursor.
create or replace minhaproce(p_result OUT SYS_REFCURSOR)
begin
open p_result for select * from tabela;
end;
Até aqui beleza.
Quando chamo no java não está aceitando o tipo cursor.
@Query(value = "{call minhaproce(?)}", nativeQuery = true)
Collection<Coche> minhaproce(@Param("p_result") OracleTypes.CURSOR)
não é aceita mesmo eu colocando como collection Collection<Coche> listaProcedure(@Param("p_result") List<Coche> p_result2)
, também não aceita. Agora seu eu fizer o select direto, como abaixo retorna.
@Query(value = "SELECT * FROM tabela", nativeQuery = true)
Collection<Coche> minhaproce();
Por que funciona fazendo o select direto e não funciona pela procedure? Não acho nada na internet alguma coisa parecida.