Здравствуйте, я работаю Oracle хранимая процедура, у меня есть имя процедуры Тест и 2 параметра в -> x IN VARCHAR2 , out -> REF_CURSOR выход SYS_REFCURSOR . я пытаюсь вызвать эту процедуру, используя Hibernate, но у меня есть исключение
Исключение в потоке "main" org.hibernate.QueryException: Dialect [org.hibernate.dialect.OracleDialect] неизвестно, поддерживает ли параметры REF_CURSOR
import model.Apprisal;
import oracle.jdbc.OracleTypes;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.procedure.ProcedureCall;
import org.hibernate.procedure.ProcedureOutputs;
import org.hibernate.result.Output;
import org.hibernate.result.ResultSetOutput;
import javax.persistence.EntityManager;
import javax.persistence.ParameterMode;
import javax.persistence.StoredProcedureQuery;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.Types;
import java.util.List;
public class DBUtil {
public static void main(String[] args) {
// crt factiry
SessionFactory factory = new Configuration()
.configure("hibernate.cfg.xml")
//.addAnnotatedClass(Apprisal.class)
.buildSessionFactory();
// crt sesion
Session session = factory.getCurrentSession();
session.beginTransaction();
ProcedureCall call =session.createStoredProcedureCall( "{CALL TEST(?,?) }");
call.registerParameter(1, String.class, ParameterMode.IN).bindValue("12345");
call.registerParameter(2, Class.class, ParameterMode.REF_CURSOR);
Output output = call.getOutputs().getCurrent();
System.out.println("done");
factory.close();
}
}