Как вернуть запрос на выборку из репозитория jpa с типом внешнего ключа

Не используйте следующие имена зарезервированных устройств для имени файла:

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, ​​COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 и LPT9

blockquote>

Источник: MSDN

Другие имена, такие как имена дисков, также не могут быть использованы:

CLOCK $, A: -Z:

blockquote>

Источник: поддержка Microsoft

1
задан Kaique Dias 18 January 2019 в 18:54
поделиться

4 ответа

Если во второй раз вы хотите изолировать список comarca_id, попробуйте отправить ваш запрос в потоковом режиме.

    List<Comarca> comarca = debitoNegativacao.stream().map(dn -> dn.getComarca()).distinct().collect(Collectors.toList());

++

0
ответ дан Kaique Dias 18 January 2019 в 18:54
поделиться

Вы должны вернуть все столбцы, необходимые для построения Comarca. Так что вам придется присоединиться к столу.

Поскольку не предоставил таблицы, я могу только догадываться:

@Query(value = "SELECT DISTINCT * FROM comarca c " +
                "JOIN debito_negativacao d ON d.comarca_id = c.id "+
                "WHERE d.debito_negativacao.status= :status", nativeQuery = true)
List<Comarca> findDistinctComarcaIdByStatus(@Param("status") String status);
0
ответ дан Simon Martinelli 18 January 2019 в 18:54
поделиться

Ваш запрос говорит о том, что вам нужен список BigInteger: SELECT DISTINCT comarca_id ... потому что comarca_id - это biginteger, я полагаю. Если вы хотите список Comarca, вы должны запросить все ваши таблицы.

0
ответ дан Lovegiver 18 January 2019 в 18:54
поделиться

Если вы хотите использовать отдельный запрос, который будет возвращать другие столбцы, кроме отдельного, вам нужна какая-то стратегия, как «объединить» объекты. Представьте себе строки, подобные этим:

------------------------------
| comarca_id| key | status    |
| 1         | A   | your_state|
| 1         | B   | your_state|
| 2         | C   | your_state|
------------------------------

Что вы получите в этом случае?

SELECT DISTINCT comarca_id FROM comarca; вернет 1,2

Однако, как вы можете объединить два ( или более) записей, которые имеют одинаковые comarca_id и status?

Это оставляет вам три случая:

  1. вы предполагаете, что comarca_id + status уникально - > вам не нужен запрос DISTINCT
  2. Может быть несколько строк с одинаковыми comarca_id и status -> вы не можете сделать запрос отличным
  3. вы требуется только отдельные значения comarca_id -> заставить ваш метод возвращать List<BigInteger>
0
ответ дан Abaddon666 18 January 2019 в 18:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: