2024-03-13T10:06:06.332+02:00 WARN 38112 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'studySpaceService' defined in file [C:\Users\anupa\OneDrive\Desktop\Reservify\Backend\reversify\build\classes\java\main\ee\mainor\reversify\service\StudySpaceService.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'studySpaceRepository' defined in ee.mainor.reversify.repository.StudySpaceRepository defined in @EnableJdbcRepositories declared on JdbcRepositoriesRegistrar.EnableJdbcRepositoriesConfiguration: Cannot resolve reference to bean 'org.springframework.data.jdbc.core.mapping.JdbcMappingContext' while setting bean property 'mappingContext'
package ee.mainor.reversify.model;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;
@Data
@Table(name = "study_spaces")
public class StudySpaceModel {
@Column(value = "space_id")
@Id
private Long spaceId;
@Column(value = "space_name")
private String spaceName;
private int capacity;
private String location;
private JsonNode availability;
// Constructors, getters, and setters
}
package ee.mainor.reversify.repository;
import ee.mainor.reversify.model.StudySpaceModel;
import org.springframework.data.jdbc.repository.query.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface StudySpaceRepository extends CrudRepository<StudySpaceModel, Long> {
@Query("""
select * from study_spaces
""")
List<StudySpaceModel> getAllStudySpaces();
}
package ee.mainor.reversify.service;
import com.fasterxml.jackson.databind.JsonNode;
import ee.mainor.reversify.dto.StudySpaceDto;
import ee.mainor.reversify.mapper.StudySpaceMapper;
import ee.mainor.reversify.model.StudySpaceModel;
import ee.mainor.reversify.repository.StudySpaceRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
public class StudySpaceService {
private final StudySpaceRepository studySpaceRepository;
private static List<StudySpaceDto> getStudySpaceDtos(List<StudySpaceModel> studySpaceModels) {
return studySpaceModels.stream().map(studySpaceModel -> {
StudySpaceDto studySpaceDto = new StudySpaceDto();
studySpaceDto.setSpaceId(studySpaceModel.getSpaceId());
studySpaceDto.setSpaceName(studySpaceModel.getSpaceName());
studySpaceDto.setCapacity(studySpaceModel.getCapacity());
studySpaceDto.setLocation(studySpaceModel.getLocation());
studySpaceDto.setAvailability(studySpaceModel.getAvailability());
// Map other properties as needed
return studySpaceDto;
}).toList();
}
public List<StudySpaceDto> getAllStudySpaces() {
List<StudySpaceModel> studySpaceModels = studySpaceRepository.getAllStudySpaces();
return getStudySpaceDtos(studySpaceModels);
}
public StudySpaceDto getStudySpaceById(Long id) {
StudySpaceModel studySpaceModel = studySpaceRepository.findStudySpaceModelById(id);
return StudySpaceMapper.toDto(studySpaceModel);
}
}
I tried @EntityScan in model but it didn't work.