Не используйте следующие имена зарезервированных устройств для имени файла:
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 и LPT9
blockquote>Другие имена, такие как имена дисков, также не могут быть использованы:
CLOCK $, A: -Z:
blockquote>
Если во второй раз вы хотите изолировать список comarca_id, попробуйте отправить ваш запрос в потоковом режиме.
List<Comarca> comarca = debitoNegativacao.stream().map(dn -> dn.getComarca()).distinct().collect(Collectors.toList());
++
Вы должны вернуть все столбцы, необходимые для построения 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);
Ваш запрос говорит о том, что вам нужен список BigInteger: SELECT DISTINCT comarca_id ... потому что comarca_id - это biginteger, я полагаю. Если вы хотите список Comarca, вы должны запросить все ваши таблицы.
Если вы хотите использовать отдельный запрос, который будет возвращать другие столбцы, кроме отдельного, вам нужна какая-то стратегия, как «объединить» объекты. Представьте себе строки, подобные этим:
------------------------------
| 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
?
Это оставляет вам три случая:
comarca_id
+ status
уникально - > вам не нужен запрос DISTINCT
comarca_id
и status
-> вы не можете сделать запрос отличным comarca_id
-> заставить ваш метод возвращать List<BigInteger>