Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Spring Boot JPA:como consultar uma coluna JSON em uma tabela


Você deve usar a consulta nativa para usar funções de banco de dados como json_contains:
@Query("select c from CaseMessage c  where c.caseId=?1 and c.id not in(select cm.id from CaseMessage cm where json_contains(status, '{\"status\": \"delete\"}') and json_contains(status, '{\"user_id\": ?2}'))", nativeQuery = true)
    List<CaseMessageResponse> getAllCaseMessages(long caseId, long userId);

ou com a anotação @NativeQuery

Para maiores informações :

Diferença entre consulta, nativa consulta, consulta nomeada e consulta digitada