Mysql
 sql >> Base de données >  >> RDS >> Mysql

Spring Boot JPA :comment interroger une colonne JSON dans une table

Vous devez utiliser une requête native pour utiliser des fonctions de base de données telles que 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 avec l'annotation @NativeQuery

pour plus d'informations :

Différence entre requête, native requête, requête nommée et requête typée