【问题标题】:Postgres Query to JPA ConversionPostgres 查询到 JPA 的转换
【发布时间】:2016-04-20 17:18:28
【问题描述】:

我有一个我想用 JPA 执行的 postgres 查询。

谁能告诉我如何在 jpa 中正确地跟踪查询

SELECT  (
        SELECT COUNT(*)
        FROM "RECEIPT" Where "STATUS"='1'
        ) AS count1,
        (
        SELECT COUNT(*)
        FROM   "RECEIPT"  Where "STATUS"='1'
        ) AS count2;

这会返回

count1 count2
11      11

在 jpa 中我尝试了以下操作。

Query query = em.createQuery("SELECT (SELECT count(*)  FROM SMSReceipt Where status='1' ) AS count1,(SELECT count(*)  FROM SMSReceipt Where status='8' ) AS count2 ");

但这不起作用

请教我怎么做

【问题讨论】:

    标签: java postgresql jpa


    【解决方案1】:

    你需要使用createNativeQuery()方法来运行普通的sql

    Query query = em.createNativeQuery("SELECT (SELECT count(*)  FROM SMSReceipt Where status='1' ) AS count1,(SELECT count(*)  FROM SMSReceipt Where status='8' ) AS count2 ");
    

    createQuery() 用于运行 JPQL。

    还要检查 -JPA's EntityManager createQuery() vs createNamedQuery() vs createNativeQuery()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-23
      • 2018-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 2021-06-27
      • 2015-08-06
      相关资源
      最近更新 更多