【问题标题】:spring boot and jpa query @P0spring boot 和 jpa 查询@P0
【发布时间】:2022-01-24 19:47:10
【问题描述】:

我正在尝试运行以下查询

@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);

但我不断收到 sintax 错误@P0,我也尝试不使用参数,而是使用“?”仍然无法正常工作,我的猜测是字符串没有放在''下,它最终紧挨着大容量,但是一旦我放置单引号,我就会得到错误:路径中没有文件。

我也尝试包装 ?带括号但没有运气...甚至尝试更改休眠对话框但又没有运气...

它可能与this 重复,但他们的解决方案不起作用

【问题讨论】:

  • 小字:“尝试更改方言 – SinisaT90 20 年 10 月 2 日 7:15”“实际上,这是问题所在。事实证明,Hibernate 不支持所有方言”
  • 我确实在 sqlServerDialect、sqlServer2012Dialect、sqlServer2019Dialect 上更改了它,但仍然没有运气

标签: java sql spring-boot hibernate jpa


【解决方案1】:

我认为这个问题的原因是JPA参数只允许在查询的WHERE子句中使用。

您不能在创建的查询的任何位置使用该参数。

在您的情况下,您在FROM 部分FROM OPENROWSET(BULK :path, SINGLE_BLOB) 中使用它们

【讨论】:

    猜你喜欢
    • 2021-10-13
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 2021-04-16
    • 2020-03-29
    • 2021-08-21
    • 1970-01-01
    相关资源
    最近更新 更多