Проверьте, есть ли целое число в списке jsonb - PullRequest
1 голос
/ 10 февраля 2020

Я пытаюсь написать собственный запрос в JPA. Я хочу проверить, существует ли элемент в столбце 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 Ответ

0 голосов
/ 10 февраля 2020

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

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

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

...