
[英]how to store json object in a column of mysql using spring boot/java
[英]Filter JSON column from MySQL table in spring boot
下面是我在 MySQL 表中过滤 json 列的查询,
public interface MpaCustomizationRepository extends
JpaRepository<MpaCustomization, Serializable> {
@Query(nativeQuery = true, value = "select * from MPA_CUSTOMIZATION where json_contains(domain_based_properties, '{\"id\" : ?1}')")
MpaCustomization findByDomainBaseId(String domainId);
}
上述方法抛出以下 SQL 错误,
但是如果我对变量进行硬编码并像下面那样运行查询,它的工作正常,
@Query(nativeQuery = true, value = "select * from MPA_CUSTOMIZATION where json_contains(domain_based_properties, '{\"id\" : 2}')")
MpaCustomization findByDomainBaseId(String domainId);
如何解决这个问题?
使用本机查询时使用$.id
作为值,因为 SQL 只接受它。 其他方式,您可以使用:id
并将参数{\"id\":\"" + <value> + "\"}
绑定到查询。
也许以下会起作用。
@Query(nativeQuery = true, value = "select * from MPA_CUSTOMIZATION where json_contains(domain_based_properties, ?1 , '$.id'")
MpaCustomization findByDomainBaseId(String domainId);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.