Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Spring Boot JPA:Abfrage einer JSON-Spalte in einer Tabelle

Sie müssen native Abfragen verwenden, um Datenbankfunktionen wie json_contains:

zu verwenden
@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);

oder mit der @NativeQuery-Annotation

für weitere Informationen :

Unterschied zwischen Abfrage, nativ Abfrage, benannte Abfrage und typisierte Abfrage