spring 启动和 jpa 查询 @P0
spring boot and jpa query @P0
我正在尝试运行以下查询
@Query(value = "INSERT INTO controllordinitest.dbo.Records(FSId, FSBlob) SELECT NEWID(), BulkColumn FROM OPENROWSET(BULK :path, SINGLE_BLOB) as f;", nativeQuery= true)
@Modifying
void saveFile(@Param(value="path") String path);
但我一直收到语法错误@P0,我也尝试不使用参数,而是使用“?”仍然无法正常工作,我的猜测是字符串没有放在 '' 下,它最终紧挨着大块,但是一旦我放置单引号,我就会得到 erroe,即 :path 中没有文件。
我也试过把 ?有括号但没有运气......甚至试图改变休眠对话框但再次没有运气......
这可能是 的重复,但他们的解决方案根本行不通
我认为这个问题的原因是 JPA 参数只允许在查询的 WHERE
子句中使用。
您不能在创建的查询的任何地方使用该参数。
在您的情况下,您在 FROM
部分 FROM OPENROWSET(BULK :path, SINGLE_BLOB)
中使用了它们
我正在尝试运行以下查询
@Query(value = "INSERT INTO controllordinitest.dbo.Records(FSId, FSBlob) SELECT NEWID(), BulkColumn FROM OPENROWSET(BULK :path, SINGLE_BLOB) as f;", nativeQuery= true)
@Modifying
void saveFile(@Param(value="path") String path);
但我一直收到语法错误@P0,我也尝试不使用参数,而是使用“?”仍然无法正常工作,我的猜测是字符串没有放在 '' 下,它最终紧挨着大块,但是一旦我放置单引号,我就会得到 erroe,即 :path 中没有文件。
我也试过把 ?有括号但没有运气......甚至试图改变休眠对话框但再次没有运气......
这可能是
我认为这个问题的原因是 JPA 参数只允许在查询的 WHERE
子句中使用。
您不能在创建的查询的任何地方使用该参数。
在您的情况下,您在 FROM
部分 FROM OPENROWSET(BULK :path, SINGLE_BLOB)