При попытке поиска в базе данных с помощью Spring высвечивает Incorrect result size: expected 1, actual 0, с чем связано?

При запуске программы, постоянно получаю одну и ту же ошибку. Делал дебаг, но не помогло найти причину. Код теста

@Test
    public void testCfg(){
        GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
        ctx.load("classpath:config/embdb.xml");
        ctx.refresh();

        SingerDao singerDao = ctx.getBean(SingerDao.class);

        System.out.println("First name for singer id 1 is: " +
                singerDao.findFirstNameById(1l));

        ctx.close();
    }

В конфигурации указано так: введите сюда описание изображения

А сам метод для поиска:

 @Override
    public String findFirstNameById(Long id) {
        return jdbcTemplate.queryForObject(
                "select first_name from singer where id = ?",
                new Object[]{id}, String.class);
    }

База запускается без проблем, вот её коды: schema.sql

CREATE TABLE if not exists SINGER (
    ID INT NOT NULL AUTO_INCREMENT
  , FIRST_NAME VARCHAR(60) NOT NULL
  , LAST_NAME VARCHAR(40) NOT NULL
  , BIRTH_DATE DATE
  , UNIQUE UQ_SINGER_1 (FIRST_NAME, LAST_NAME)
  , PRIMARY KEY (ID)
);

CREATE TABLE if not exists ALBUM (
    ID INT NOT NULL AUTO_INCREMENT
  , SINGER_ID INT NOT NULL
  , TITLE VARCHAR(100) NOT NULL
  , RELEASE_DATE DATE
  , UNIQUE UQ_SINGER_ALBUM_1 (SINGER_ID, TITLE)
  , PRIMARY KEY (ID)
  , CONSTRAINT FK_ALBUM
    FOREIGN KEY (SINGER_ID)
    REFERENCES SINGER (ID)
    ON DELETE CASCADE
);

test-data.sql

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Артем Артемов

Как оказалось, то проблема каким-то образом свзана с альбомами. Удалил и заработало

→ Ссылка