Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring引导上的本机查询:混合?不支持参数和其他形式,如?1_Java_Postgresql_Spring Boot_Spring Data Jpa - Fatal编程技术网

Java Spring引导上的本机查询:混合?不支持参数和其他形式,如?1

Java Spring引导上的本机查询:混合?不支持参数和其他形式,如?1,java,postgresql,spring-boot,spring-data-jpa,Java,Postgresql,Spring Boot,Spring Data Jpa,我正在使用Postgresql/PostGIS在spring boot jpa上运行本机查询 查询在postgresql上运行良好: WITH data AS (SELECT '{ "type": "Point", "coordinates": [102.0, 0.5] }'::jsonb AS fc) UPDATE dopigp.disciplinare_aree SET area_da_validare=( SELECT ST_Union(ST_AsText(ST_Ge

我正在使用Postgresql/PostGIS在spring boot jpa上运行本机查询

查询在postgresql上运行良好:

WITH data AS (SELECT '{ "type": "Point", "coordinates": [102.0, 0.5]

     }'::jsonb AS fc) 
UPDATE dopigp.disciplinare_aree SET area_da_validare=( 
SELECT 
  ST_Union(ST_AsText(ST_GeomFromGeoJSON(feat->>'geometry'))) AS geom 
FROM ( 
  SELECT  
    CASE  
        WHEN fc ? 'features' THEN jsonb_array_elements(fc->'features') 
        WHEN fc ? 'geometry' THEN (fc) 
        ELSE jsonb_build_object('geometry', fc) 
    END  
    AS feat 
  FROM data 
) AS f 
) WHERE id_disciplinare=251 
在Spring Boot上给我一个错误:混合了什么?不支持参数和其他形式,如?1


你一定要逃走吗?在case语句中,因为这是参数占位符,而不是\您必须使用?:

 WHEN fc ??

你一定要逃走吗?在case语句中,因为这是参数占位符,而不是\您必须使用?:

 WHEN fc ??

似乎不可能逃脱这个问号。
因此,唯一的解决方案是创建一个自定义运算符来替换所指出的问号,并在本机查询中使用它,而不是“

似乎无法避开问号。
因此,唯一的解决方案是创建一个自定义运算符来替换所指出的问号,并在本机查询中使用它,而不是“”.

因此,实际的问题是如何使查询中的问号不被hibernate视为参数占位符。
是准备语句参数的占位符。占位符?1用于输入,而不是fc?中的占位符features'表示fc包含功能?因此实际的问题是如何使它使hibernate不会将查询中的问号视为参数占位符。
是准备好的语句参数的占位符。占位符?1用于输入,而不是fc中的占位符?'功能的意思是fc包含功能?嗯,但什么是功能?代表什么?不应该是a=fc吗?”功能的意思是:fc包含功能我错了,对不起。你一定要用吗?不是\因为转义序列可能我无法转义(如果问题是这样的话)你试过两个吗??因为这是官方的JDBC escapeHmm,但它是什么?代表什么?不应该是a=fc吗?”功能的意思是:fc包含功能我错了,对不起。你一定要用吗?不是\因为转义序列可能我无法转义(如果问题是这样的话)你试过两个吗??因为这是官方的JDBC escape
@Param(“jsonOperator”)jsonOperator:String=“?”
@JackMahoney您能进一步说明这个注释必须去哪里吗?
@Param(“jsonOperator”)jsonOperator:String=“?”
@JackMahoney您能进一步说明这个注释必须去哪里吗?