2017-08-30 443 views
1

mysql,有一列使用了json数据类型。我想执行查询与列作为条件。用Sql,我可以把它写成波纹管。如何查询mysql的json数据类型为spring-data-jpa的条件

select * from user where json_extract(address,'$.city')= 'beijing' 

但使用spring-data-jpa,我不知道如何实现它。 JPQL没有提供一些API实现json_extractjpaJpaSpecificationExecutor也没有提供相同的功能。如果有人知道如何去做,请回答这个问题。

+0

尝试使用'nativeQuery' ... – Cepr0

回答

0

试试这个:

@Query(value = "select * from user where json_extract(address,'$.city') = '?city'", nativeQuery = true) 
List<User> findUsersByCity(String city); 

我没有检查它。

好运

+0

通过这种方式,真正与json_extract查询,但我失去的方式,以产品动态SQL。所以我使用naticQuery,虽然它有点乏味,但它确实有效。 –