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.

0

There are 0 best solutions below