Ebean ORM不使用oracle游标

时间:2017-01-19 08:53:35

标签: java oracle plsql ebean

我有一个返回两个变量的过程。其中一个是光标。 我试着这样做

String removalQuery = "{call REA.FILL_EVENT.REMOVAL_73_1_1(?,?,?,?) } ";
        CallableSql cs = Ebean.createCallableSql(removalQuery);
        cs.setParameter(1,doc.poeSteamTurbine.vid);
        cs.setParameter(2,doc.form.periodId);
        cs.registerOut(3, Types.INTEGER);
        cs.registerOut(4, Types.REF_CURSOR);
        Ebean.execute(cs); 

但它会导致错误

2012 is incorrect data type

Ebean能够使用游标吗?

1 个答案:

答案 0 :(得分:0)

我意识到这个问题现在已经过时了,但是我会写这个,以防它帮助某人。

我想出了一个类似的问题,连接到Oracle数据库。就我而言,问题是REF_CURSOR类型,它会产生您描述的错误。我的解决方案是将其更改为oracle.jdbc.OracleTypes.CURSOR,这解决了问题。

如果您没有使用Oracle数据库,那么类型将是其他类型,但您仍需要更改它。