如何使计数(*)查询在未映射的实体的Hibernate中工作?

时间:2014-10-07 18:23:05

标签: sql hibernate hql

我是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”它给我一个错误“意外令牌ON”时,这个查询不起作用。那么如何修复选择COUNT(*)?谢谢。

1 个答案:

答案 0 :(得分:0)

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