【问题标题】:Entity Manager - create query - nested select实体管理器 - 创建查询 - 嵌套选择
【发布时间】:2019-10-06 01:37:25
【问题描述】:

我正在尝试执行下一个:

em.createQuery("SELECT processId FROM (SELECT processId FROM table_name WHERE processName like '%abcaccz%')")

但我得到了:

Method threw 'java.lang.IllegalArgumentException' exception.
unexpected token: ( near line 1, column 23

这里缺少什么? (这在我的数据库客户区工作)。

【问题讨论】:

  • 尝试在结束括号后添加别名。
  • 请举例?无论如何,这也失败了: em.createQuery("SELECT processId FROM (SELECT processId FROM table_name WHERE processName like '%abcaccz%') a")

标签: java sql hibernate jpa h2


【解决方案1】:

正确的语法是:

em.createQuery("SELECT processId = (SELECT processId FROM table_name WHERE processName like '%abcaccz%') FROM table_name")

或:

em.createQuery("
  SELECT processId
    FROM table_name
    WHERE processId IN (SELECT processId
                           FROM table_name
                           WHERE processName like '%abcaccz%')")

【讨论】:

    猜你喜欢
    • 2014-09-13
    • 2020-09-24
    • 1970-01-01
    • 2019-04-15
    • 2018-05-08
    • 2013-01-19
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    相关资源
    最近更新 更多