【问题标题】:Multiple errors in SQL expressionSQL 表达式中的多个错误
【发布时间】:2019-02-04 16:26:29
【问题描述】:

我想在 Eclipse 中使用这个 SQL 查询,但出现错误

@Query("select @ref:=id as id, unique_id, reference_id "+
           "from mytable join (select @ref:=id from mytable WHERE unique_id = :pUid) tmp "+
           "where reference_id=@ref",
            nativeQuery = true) 
   List<MyTable> myCustomHirachicalQuery(@Param("pUid") Integer uid)

但我在 Eclipse 中遇到这些错误:

Syntax error on token ",",[ expected Syntax error, insert "]" to complete Expression

你知道我该如何解决这些问题吗?

【问题讨论】:

  • 今年春天还是什么?
  • 是的,原生 Spring 查询。
  • 下次请适当标记

标签: java spring eclipse annotations


【解决方案1】:

这个问题不是 Spring、@Query 或 SQL 所特有的,而是由于 Java 注解的一般语法规则。

@Query 注释具有以下属性:

  • String value
  • boolean nativeQuery

Java 的注解语法以特殊方式处理value 属性。

如果您只想设置value 属性, 那么您可以使用或不使用value=:
通过@Query(value = "select ...") 或直接通过@Query("select ...")

但是如果你想设置除了value属性之外的更多属性, 那么就不允许省略value=。你需要写
@Query(value = "select ...", nativeQuery = true)而不是
@Query("select ...", nativeQuery = true)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多