получить результат из сохраненной функции - PullRequest
0 голосов
/ 06 мая 2019

Я хочу выполнить сохраненную функцию. Он принимает параметры и дает один результат. Но как мне получить этот результат? Ошибка: локальные переменные, на которые ссылается внутренний класс, должны быть окончательными или эффективно окончательными

    public static String season_overlap(int userid, Date sAnf, Date sEnd) throws DatabaseException {
        Session hsession = null;
        String result = null;

        try {
            hsession = HibernateUtil.getSessionFactory().openSession();
            hsession.doWork(new Work() {
                @Override
                public void execute(Connection cnctn) throws SQLException {
                    try (CallableStatement cStmt = cnctn.prepareCall("{? = CALL season_overlap(?, ?, ?)}")) {
                        cStmt.registerOutParameter(1,java.sql.Types.VARCHAR);
                        cStmt.setInt(2, userid);
                        cStmt.setDate(3, sAnf);
                        cStmt.setDate(4, sEnd);
                        cStmt.execute();
                        result = cStmt.getString(1);
                    }
                }
            });
        } catch (HibernateException ex) {
            throw new DatabaseException(ex);
        } finally {
            if (hsession != null)
                hsession.close();
        }

        return result;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...