Spring репозиторий запрос возвращает одно и то же значение снова и снова - PullRequest
1 голос
/ 04 мая 2020

У меня проблема с Spring, когда я вношу собственный запрос, некоторые из данных, которые он возвращает, верны, но другие поля возвращаются как одно и то же значение снова и снова.

Проект имеет Объекты компании, и каждый объект компании имеет список объектов Sentiment, представляющих заголовки, опубликованные о компании, дату публикации заголовка, цену акций компании в тот день и значение, на которое нейронная сеть полагает, что цена акций будет двигаться в течение следующих 24 часов (но это не так важно сейчас.

Проблема в том, что когда я использую Spring для извлечения данных настроений из базы данных, все объекты настроений возвращаются с id = 0 stockprice = 0 и все с одинаковой датой. Вывод на консоль показывает, что все id = 0, все цены на акции = 0, все даты = 2020-02-27, но заголовки меняются, как и ожидалось. Вот запрос, который я использую:

@Query(value=" SELECT sentiment.* FROM sentiment, company, company_sentiment WHERE(company.id=company_sentiment.Company_id) AND (sentiment.id=company_sentiment.sentimentData_id) AND (company.id='%' || :keyword || '%')",
            nativeQuery=true)
    public List<Sentiment> getSentiment(@Param("keyword") String keyword);

В противоположность этому, в базе данных все в порядке, даты и прогнозы одинаковы для нескольких дни хороши, поскольку данные перекрываются, но тот факт, что они всегда равны нулю, означает, что что-то не так с их чтением в веб-приложении. В результате этого веб-сайт, который я создал для проекта, выглядит бессмысленным. .

Вы когда-нибудь сталкивались с такой проблемой?

1 Ответ

0 голосов
/ 04 мая 2020

попробуйте это: в аргументе ключевое слово в методе не используйте @Param("keyword")

, но вот так

public List<Sentiment> getSentiment(String keyword);

и в запросе вместо :keyword используйте ?1

Надеюсь, это поможет

...