我正在使用Oracle存储过程,我有过程和1个参数

in - > x IN VARCHAR2, out -> REF_CURSOR in out SYS_REFCURSOR.


我正在尝试使用休眠模式调用此过程,但是我有异常

我需要相同但H2数据库的内存

但是出现此错误:

[org.hibernate.dialect.H2Dialect] not known to support REF_CURSOR parameters


这是我的代码创建过程:

DROP ALIAS IF EXISTS LOGPROCESSOR;
CREATE ALIAS LOGPROCESSOR AS $$
@CODE
java.sql.ResultSet getTableContent(java.sql.Connection con, final String cv_1) throws Exception {
    String resultValue=null;
    java.sql.ResultSet rs = con.createStatement().executeQuery(
    "SELECT IDTLOG,DATE,IDSTORE,INIUPLOAD,RECEIVED,PENDING,VALIDATED FROM LOGPROCESSOR_GETSTATUSREPORT");
       /*while(rs.next())
       {
        resultValue=rs.getString(1);
       }
    return resultValue;*/
    return rs;
}

最佳答案

不幸的是,Hibernate H2Dialect尚不支持带有REF_CURSOR结果集的存储过程,因此目前尚无法实现。

H2Dialect扩展了基本Dialect类,但未实现getCallableStatement方法

public CallableStatementSupport getCallableStatementSupport() {
    // most databases do not support returning cursors (ref_cursor)...
    return StandardCallableStatementSupport.NO_REF_CURSOR_INSTANCE;
}

10-07 13:12