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
,