@Bean public JdbcOperationsSessionRepository sessionRepository() { JdbcTemplate jdbcTemplate = createJdbcTemplate(this.dataSource); JdbcOperationsSessionRepository sessionRepository = new JdbcOperationsSessionRepository( jdbcTemplate, this.transactionManager); if (StringUtils.hasText(this.tableName)) { sessionRepository.setTableName(this.tableName); } sessionRepository .setDefaultMaxInactiveInterval(this.maxInactiveIntervalInSeconds); if (this.lobHandler != null) { sessionRepository.setLobHandler(this.lobHandler); } else if (requiresTemporaryLob(this.dataSource)) { DefaultLobHandler lobHandler = new DefaultLobHandler(); lobHandler.setCreateTemporaryLob(true); sessionRepository.setLobHandler(lobHandler); } if (this.springSessionConversionService != null) { sessionRepository.setConversionService(this.springSessionConversionService); } else if (this.conversionService != null) { sessionRepository.setConversionService(this.conversionService); } else { sessionRepository .setConversionService(createConversionServiceWithBeanClassLoader()); } return sessionRepository; }