@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);


А для массива не получается.
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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