public static ExerciseParameter getExerciseParameterRowWithExerciseParameterNo(
            String exerciseParameterNo) {
        Connection conn = ConnectionManager.getInstance().getConnection();
        
        String sql = "{call selectExerciseParameterRowWithExerciseParameterNo(?)}";
        ResultSet rs = null;

        try (PreparedStatement stmt = conn.prepareStatement(sql);) {
            stmt.setString(1, exerciseParameterNo);
            rs = stmt.executeQuery();
            rs.next();

            ExerciseParameter exerciseParameterEntity = new ExerciseParameter();
            exerciseParameterEntity.setExerciseParameterNo(rs
                    .getString("exerciseParameterNo"));
            exerciseParameterEntity.setIsTest(rs.getBoolean("isTest"));
            exerciseParameterEntity.setIsLocked(rs.getBoolean("isLocked"));
            exerciseParameterEntity.setAccessBegin(rs.getTimestamp("accessBegin"));
            exerciseParameterEntity.setAccessEnd(rs.getTimestamp("accessEnd"));
            exerciseParameterEntity.setTimeLimit(rs.getInt("timeLimit"));

            return exerciseParameterEntity;
            
        } catch (SQLTransientConnectionException SQLtce) {
            return getExerciseParameterRowWithExerciseParameterNo(exerciseParameterNo);
        } catch (SQLTransientException SQLte) {
            return getExerciseParameterRowWithExerciseParameterNo(exerciseParameterNo);
        } catch (SQLException e) {
            System.err.println(e);
            return null;
        } finally {
            try {
                if (rs != null) {
                    rs.close();
                }
                conn.close();
            } catch (SQLException e) {
                System.err.println(e);
            }
        }
    }