我是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(*)?谢谢。
答案 0 :(得分:0)
你需要一个分组来做COUNT(*)。 按您选择的值进行分组,您应该有计数;)