Здравствуйте! Представим, что у нас есть таблица, одно из полей которой содержит массив типа 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);
А для массива не получается.