Задать вопрос
@arionaRu

Выбрать записи, jsonb массив которых содержит все элементы массива?

Здравствуйте! Представим, что у нас есть таблица, одно из полей которой содержит массив типа jsonb.
Как-то так

CREATE TABLE cats
(
id BIGSERIAL PRIMARY KEY,
name TEXT NOT NULL,
properties JSONB NOT NULL
)


И доменная сущность

public Cat {
@Id
@GeneratedValue
private Long id;
private String name;
@Type(type = "jsonb")
private List<String> properties;
}


Как мне выбрать таких котов, у которых есть все заданные проперти?

Для одной проперти у меня вышло так:

@Query(value = "select * from cats where jsonb_exists_any(properties,array[:property])" , nativeQuery = true)
    List<Cats> searchByField(@Param("property") String property);


А для массива не получается.
  • Вопрос задан
  • 102 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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