簡體   English   中英

Hibernate本機查詢顯示異常

[英]Hibernate native query shows exception

我寫了休眠本機查詢,以獲取表中的總用戶和月份。
但它顯示:

exception:Operand should contain 1 column(s)
org.hibernate.exception.DataException: could not execute query

誰能幫我解決這個問題:

  c.setProjection(Projections.projectionList()
     .add(Projections.sqlProjection("(select count(*), MONTH(Stored) from adbtbl_stat " 
     + "where Activity = 89 and YEAR(Stored) = 2015) as Count, month",
     new String[] { "Count", "month" }, new Type[] { LongType.INSTANCE, StringType.INSTANCE }))
     .add(Projections.groupProperty(month(stored))));

一個ProjectionList可以包含多個SQLProjection ,但是每個SQLProjection應該與一個SQL列關聯,並且只能與一個SQL列關聯。

您的SQLProjection嘗試選擇兩列。

嘗試使用簡單的本地查詢替換您的條件查詢:

Long activity = ...;
int year = ...;

Query q = entityManager.createNativeQuery(
    "select count(*) as Count, MONTH(Stored) as Month " +
    "from adbtbl_stat " +
    "where Activity = :activity and YEAR(Stored) = :year"
);
q.setParameter("activity", activity);
q.setParameter("year", year);
List<Object[]> result = (List<Object[]>) q.getResultList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM