java - H2 数据库未知支持 REF_CURSOR 参数

标签 java h2db

我正在研究 Oracle 存储过程,我有过程和 1 个参数

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

我尝试使用 hibernate 调用此过程,但有异常(exception)

我需要相同的但 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;
}

关于java - H2 数据库未知支持 REF_CURSOR 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51749539/

相关文章:

java - Android - Webview HTML 代码提取不起作用(Javascript)

java - Admob 6.4.1 - 膨胀类 com.google.ads.AdView 时出错

java - 桶排序中的桶大小

java - h2 不以编程方式启动

java - H2 数据库 'Chunk no longer exists' 错误

mysql - Spring 中在 H2 数据库上集成测试 MySQL 语法的问题

java - 获取事务中自增字段的值

java - Spring Boot 没有静态资源映射

java - Gson 强制使用 int 而不是 double

java - 使用H2db实现springboot时出错