JAVA - ОШИБКА Cassandra - Кодек не найден для запрошенной операции - PullRequest
0 голосов
/ 18 октября 2018

Я хочу получить все идентификаторы базы данных.Для этого мне нужно получить все базы данных, а затем я получу идентификатор для каждой базы данных и добавлю его в список строк (id - строка).Но в конце концов я получаю сообщение об ошибке:

Request processing failed; nested exception is com.datastax.driver.core.exceptions.CodecNotFoundException: 
  Codec not found for requested operation: [list<varchar> <-> java.util.Set<java.lang.String>]

Это мой запрос в dbrepository:

@Query("SELECT * FROM db_params")
Result<Database> getAllDatabases();

И сервис для получения списка идентификаторов

    @Override
public List<String> getAllDatabasesId() {
    Result<Database> databaseResult = databaseRepository.getAllDatabases();
    List<String> listOfId = new ArrayList<>();
    for (Database database : databaseResult) {
        listOfId.add(database.getId());
    }
    return listOfId;
}

Не думаю, что я что-то не так сделал в контроллере, но вот оно:

    @GetMapping("/all-id")
fun getAllDatabasesId(): HttpEntity<List<String>> {
    val result = databaseService.allDatabasesId
    return ResponseEntity.ok(result)
}

Может кто-нибудь помочь мне с этой проблемой?

1 Ответ

0 голосов
/ 18 октября 2018

Похоже, что-то не так с возвратом в вашем контроллере.

Не могли бы вы попробовать что-нибудь подобное?

fun getAllDatabasesId (): List = databaseService.allDatabasesId ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...