【问题标题】:How to make count(*) query work in Hibernate from unmapped entities?如何从未映射的实体在 Hibernate 中进行 count(*) 查询?
【发布时间】:2014-12-02 06:32:49
【问题描述】:

我是 Hibernate 的新手。在这里,我成功地使用了 SQL 查询,就像使用 session.createSQLQuery() 一样:

SELECT  t2.col1, t2.col2, t2.col3, t5.col4, t1.col5, t4.col6, t4.col7,        
        DECODE(t1.col8,null,t1.col9,t1.col8), t1.col10, t1.col11, t8.col12
FROM table1 t1
JOIN table2 t2   
  ON t1.xyz   = t2.xyz
JOIN table3 t3      
  ON t2.col3  = t3.col3 
LEFT JOIN view1 t4  
  ON t1.abc   = t4.abc1
LEFT JOIN view2 t5  
  ON t1.abc10 = t5.abc2 AND t5.xyz1 = 1
JOIN table6 t6      
  ON t2.abc8  = t6.abc9
JOIN table7 t7      
  ON t6.xyz2  = t7.xyz2
LEFT JOIN table8 t8 
  ON t2.col1  = t8.abc3 AND t8.abc5 = 'XYZ' AND t8.abc6 = 1234
WHERE t2.DISPLAY = 'true' 
  AND t2.abc4    = 0 
  AND t6.abc7    = 0 
  AND t2.col2    = 0

所以我没有所有这些实体 Java 对象。并且没有映射xml文件。但是当我使用“SELECT COUNT(*) FROM”时,这个查询不起作用,它给了我一个错误“unexpected token ON”。那么如何修复select COUNT(*)?谢谢。

【问题讨论】:

  • 如果只使用 SELECT COUNT(*) 而没有其他字段,请使用 SELECT COUNT(t2.col1)。告诉我是否可以

标签: sql hibernate hql


【解决方案1】:

你需要一个 group by 来做 COUNT(*)。 按你选择的值分组,你应该有你的计数;)

【讨论】:

    猜你喜欢
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    相关资源
    最近更新 更多