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)

中使用了它们