JavaDoc说:

SQLQuery org.hibernate.SQLQuery.addScalar(String columnAlias, Type type)

Declare a scalar query result

我知道C#中的executeScalar是什么,但是这个标量和C#标量似乎绝对不同。

最佳答案

这是在声明您希望查询结果返回单个命名列的对象,而不是实体。例如

createSQLQuery("SELECT COUNT(*) AS c FROM Users").addScalar("c").uniqueResult()

将返回一个Long。如果指定多个标量,结果将作为Object数组返回。它类似于executeScalar,不同之处在于它适用于命名列,并且可以返回复合结果。

10-08 18:13