Использование Couchbase SDK в Java

Я пытаюсь сопоставить результат запроса couchbase с типом ссылки java, но пока я не нашел способа сделать это. Как я могу записать следующее в качестве ссылочного типа Java:

N1qlQueryResult result = couchbaseBucket.query(
            N1qlQuery.simple("SELECT * FROM customers LIMIT 1"));

JsonObject cust = result.allRows().get(0).value();

Как я могу преобразовать этот «cust» в объект Java? Что было бы лучшим способом сделать это, разве SDK couchbase не предлагает какое-либо решение для этого?


person Carlos Luis    schedule 02.02.2018    source источник


Ответы (1)


Вчера было опубликовано сообщение в блоге, в котором показано, как это сделать. это с пружинным креплением кушетки и пружинными данными.

Я совсем не эксперт по Java, но похоже, что вы начинаете с создания такого класса сущности:

@Document
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class Building {
    @NotNull
    @Id
    private String id;

    @NotNull
    @Field
    private String name;

    @NotNull
    @Field
    private String companyId;

    // ... etc ...
}

Затем создайте класс репозитория.

@N1qlPrimaryIndexed
@ViewIndexed(designDoc = "building")
public interface BuildingRepository extends CouchbasePagingAndSortingRepository<Building, String> {

    List<Building> findByCompanyId(String companyId);

    // ... etc ...
}

Наконец, вы можете использовать @Autowired в классе обслуживания или где угодно, чтобы создать экземпляр BuildingRepository и начать вызывать для него методы. Полная документация по Spring Data Couchbase доступна на docs.spring .io

person Matthew Groves    schedule 02.02.2018