Проверьте, есть ли целое число в списке jsonb

Я пытаюсь написать собственный запрос в JPA. Я хочу проверить, существует ли элемент в столбце jsonb . Однако я получаю integer <@ jsonb ошибки integer <@ jsonb .

Это мой запрос:

@Query(
        value = "SELECT u FROM user u WHERE (u.depNum = ?1 and superAdmin = true " +
            "       and ?2 <@ (u.listUsers)) ",
        nativeQuery = true

    )
    public List<EbUser> selectSuperAdmin(Integer depNum, Integer userNum);

Ошибка происходит здесь ?2 <@ (u.listUsers) . Как я могу проверить, что listUsers содержит userNum или как я могу преобразовать userNum в jsonb в Java?

Всего 1 ответ


Вы можете сделать преобразование в PostgreSQL.

and to_jsonb(ARRAY[?2]) <@ (u.listUsers))

до тех пор, пока JPA не мешает передать эту конструкцию в PostgreSQL, я не тестировал эту часть.