4

Oracle には、合計 12 個のパラメーターと 3 個のオプションを持つプロシージャーがあります。Spring 3.1.0 でStoredProcedureオブジェクトを使用している場合、これらのオプションのパラメーターをどのように説明できますか?

StoredProcedure クラスのこれまでの内容は次のとおりです。

public Map<String, Object> execute(Evaluation evaluation) {
    Map<String, Object> input_params = new HashMap<String, Object>();
    input_params.put(COURSE_MAIN_PK1_INPUT_PARAM, evaluation.getCourseId());
    input_params.put(USERS_PK1_INPUT_PARAM, evaluation.getUsersPk1());
    input_params.put(ACCREDITATION_PK1_INPUT_PARAM, evaluation.getAccreditationPk1());
    input_params.put(TYPE_PK1_INPUT_PARAM, evaluation.getTypePk1());
    input_params.put(PRIVACY_TYPE_PK1_INPUT_PARAM, evaluation.getPrivacyTypePk1());
    input_params.put(FORM_TYPE_PK1_INPUT_PARAM, evaluation.getFormTypePk1());
    input_params.put(TITLE_INPUT_PARAM, evaluation.getTitle());
    input_params.put(DESCRIPTION_INPUT_PARAM, evaluation.getDescription());

    if(evaluation.getStartDate() != null) {
        input_params.put(START_DATE_INPUT_PARAM, new java.sql.Date(evaluation.getStartDate().getMillis()));         
    }

    if(evaluation.getEndDate() != null) {
        input_params.put(END_DATE_INPUT_PARAM, new java.sql.Date(evaluation.getEndDate().getMillis())); 
    }

    input_params.put(SAVE_TO_GRADECENTER_INPUT_PARAM, evaluation.getGradeCenterColumn());
    input_params.put(CREATE_ANNOUNCEMENT_INPUT_PARAM, evaluation.getAnnouncement());

    return super.execute(input_params);
}

これに関する問題は、12 個のパラメーターを指定していて、開始日と終了日が null の場合、10 個を指定して例外が発生することです。

データベースの日付のデフォルト値は ですnull

4

1 に答える 1