我在包上下文中有 plsql 代码:
type t_demand_for_excel_upload is record
(
bsns_oper_name t_string,
demand_date date,
demand_hour integer,
demand_value number
);
type t_cur_demands_for_excel_upload is ref cursor return t_demand_for_excel_upload;
procedure get_demands_for_excel_upload
(
p_calc_version_id in integer,
p_shop_id in integer,
p_start_date in date,
p_end_date in date,
p_result out t_cur_demands_for_excel_upload
);
Jooq版本:
<jooq.groupId>org.jooq.pro</jooq.groupId>
<jooq.version>3.12.3</jooq.version>
<jooq.generator.db.dialect>org.jooq.meta.oracle.OracleDatabase</jooq.generator.db.dialect>
当我使用 oracle 12c 生成代码时 - 没关系,它在 java 中看起来像这样:
public static Result<Record> getDemandsForExcelUpload(Configuration configuration, BigInteger pCalcVersionId, BigInteger pShopId, LocalDate pStartDate, LocalDate pEndDate) {
GetDemandsForExcelUpload f = new GetDemandsForExcelUpload();
f.setPCalcVersionId(pCalcVersionId);
f.setPShopId(pShopId);
f.setPStartDate(pStartDate);
f.setPEndDate(pEndDate);
f.execute(configuration);
return f.getReturnValue();
}
Result<Record>
正如我所料。
在 oracle 19c 上生成的代码如下所示:
public static TDemandForExcelUploadRecord getDemandsForExcelUpload(Configuration configuration, BigInteger pCalcVersionId, BigInteger pShopId, LocalDate pStartDate, LocalDate pEndDate) {
GetDemandsForExcelUpload f = new GetDemandsForExcelUpload();
f.setPCalcVersionId(pCalcVersionId);
f.setPShopId(pShopId);
f.setPStartDate(pStartDate);
f.setPEndDate(pEndDate);
f.execute(configuration);
return f.getReturnValue();
}
public class TDemandForExcelUploadRecord extends UDTRecordImpl<TDemandForExcelUploadRecord> implements Record4<String, LocalDate, BigInteger, BigDecimal> { ...
我的光标在哪里?请帮忙。
两种情况下的 jooq 设置是相同的