我正在使用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;
}