StatelessSession#connection() объявлен устаревшим в Hibernate?

Я убираю некоторые предупреждения, и я нашел код, используя connection() метод StatelessSession, чей документ об устаревании говорит, что они пропустили его при устаревании того же метода на Session,

Теперь ответы на этот вопрос указывают на doWork метод на Session, но такой метод не существует на StatelessSession, Итак, как можно исправить это снижение?

2 ответа

Вы можете сделать что-то вроде этого:

    StatelessSession statelessSession = HibernateUtil.getSessionFactory().openStatelessSession();
    try {
        ((StatelessSessionImpl) statelessSession).getJdbcConnectionAccess().obtainConnection().setTransactionIsolation(TRANSACTION_REPEATABLE_READ);
    } catch (SQLException e) {
        e.printStackTrace();
    }

Целью метода StatelessSession.connection() было:

Вернуть текущее соединение JDBC, связанное с этим экземпляром.

StatelessSession наследует этот метод от SessionImplementor, который не считается устаревшим, поэтому его безопасно использовать. Даже если он будет удален из StatelessSessionу вас все еще будет этот метод из SessionImplementor,

Другие вопросы по тегам