SQLException: индекс столбца вне диапазона с Ebean и rawSql в Play Framework

Итак, после того, как я искал день, я все еще не понимаю, что делаю здесь неправильно. Я хочу выбрать имя столбца в моей таблице «Лаборатория» на сервере, которая содержит 6 столбцов, но я продолжаю получать сообщение об ошибке: «SQLException: индекс столбца вне диапазона: 0, количество столбцов: 1». Кто-нибудь знаком с этим? Спасибо Вот мой код:

    String sql = "SELECT name FROM Laboratory";
    RawSql rawSql = RawSqlBuilder
            .parse(sql)
            .create();
    Query<Laboratory> query = Ebean.find(Laboratory.class);
    query.setRawSql(rawSql).where();
    List<Laboratory> results = query.findList();

    results.sort(Comparator.comparing(Laboratory::getName)); // Sort by alphabetical order
    try {
        String json = JsonHelper.toJSON(results);
        return ok(json).as("application/json");
    } catch (JsonProcessingException e) {
        LOG.error("Unable to serialize sql request", e);
        return internalServerError();
    }
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
100
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хорошо, я нашел решение. Оказывается, мне просто нужно было получить идентификатор в дополнение к имени, иначе Ebean был потерян. В конце концов, вот SQL-запрос, который работает:

String sql = "SELECT id, name FROM Laboratory";

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