Выставка Spring Data Jpa

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

Cat{ 'name':'johnny', 'status': 'Happy'}
Cat{ 'name':'johnny', 'status': 'Angry'}
Cat{ 'name':'johnny', 'status': 'Hungry'}

и я делаю запрос Select * from cats where name = 'johnny' вместо того, чтобы получать эти 3 результата, я получаю Cat{ 'name':'johnny', 'status': 'Happy'}, дублированный три раза. В чем может быть причина такого странного поведения?

В моей реальной базе данных у меня есть уникальные ключи для нескольких столбцов, я подумал, может, им нужно специальное сопоставление?

Можете ли вы добавить код. Например, как вы выполняете вызов fetch и ваш класс сущности

MyTwoCents 16.07.2018 16:49

добавить классы сущности и репозитория.

Alien 16.07.2018 16:54
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
57
1

Ответы 1

Если записей несколько, вам следует вернуть List<Cat> в вашем случае.

List<Cat> findByName(String name);

Это просто, если что-то там в db и потом это надо вернуть.

Gaurav Srivastav 16.07.2018 16:52

Другие вопросы по теме