如何查询mysql的json数据类型为spring-data-jpa的条件
问题描述:
用mysql
,有一列使用了json
数据类型。我想执行查询与列作为条件。用Sql
,我可以把它写成波纹管。如何查询mysql的json数据类型为spring-data-jpa的条件
select * from user where json_extract(address,'$.city')= 'beijing'
但使用spring-data-jpa,我不知道如何实现它。 JPQL
没有提供一些API实现json_extract
。 jpa
的JpaSpecificationExecutor
也没有提供相同的功能。如果有人知道如何去做,请回答这个问题。
答
试试这个:
@Query(value = "select * from user where json_extract(address,'$.city') = '?city'", nativeQuery = true)
List<User> findUsersByCity(String city);
我没有检查它。
好运
+0
通过这种方式,真正与json_extract查询,但我失去的方式,以产品动态SQL。所以我使用naticQuery,虽然它有点乏味,但它确实有效。 –
尝试使用'nativeQuery' ... – Cepr0