What does addScalar do?

The JavaDoc says:

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

Declare a scalar query result

I know what executeScalar is in C#, but this scalar and C# scalar seem to be absolutely different.

This is declaring that you want the result of the query to return objects for individual named columns, rather than entities. For instance

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

Will return a single Long. If you specify multiple scalars, the result will come back as an array of Object. Its similar to executeScalar except that it works on named columns, and can return a composite result.

What does addScalar do?

时间: 2024-10-13 23:57:44

What does addScalar do?的相关文章

Hibernate 的SQLQuery接口addScalar方法 (原生sql查询)

在平时开发中Hibernate提供的hql基本能够满足我们的日常需求.但是在有些特殊的情况下,还是需要使用原生的sql,并且希望sql查询出来的结果能够绑定到pojo上.hibernate API中的createSQLQuery  和createQuery接口. 就像在这次的项目中,因为表结构要变化,有个新的需求: 要从一个表中查询极个别的字段并且还有几个是求多条数据的和的,之前一直在使用hibernate的API,使用的都是映射过得对象. 原对象及表结构是这样的: @Entity @Table

addScalar 显式指定返回数据的类型

sql: select a.id as 受理 from a SQLQuery sqlQuery=this.getSession().createSQLQuery(sb.toString()).addScalar("appId",Hibernate.STRING).addScalar("受理",Hibernate.INTEGER); 注:一旦使用addScalar,所有的属性都得用上. addScalar 显式指定返回数据的类型

Hibernate SQL查询 addScalar()或addEntity()

Hibernate除了支持HQL查询外,还支持原生SQL查询.          对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口.该接口是Query接口的子接口.          执行SQL查询步骤如下:          1.获取Hibernate Session对象          2.编写SQL语句          3.通过Session的createSQLQuery方法创建查询对象         

HQL和SQL的区别

1.hql与sql的区别 sql 面向数据库表查询 hql 面向对象查询 hql : from 后面跟的 类名+类对象 where 后 用 对象的属性做条件 sql: from 后面跟的是表名             where 后 用表中字段做条件 查询 在Hibernate中使用查询时,一般使用Hql查询语句. HQL(Hibernate Query Language),即Hibernate的查询语言跟SQL非常相像.不过HQL与SQL的最根本的区别,就是它是面向对象的. 使用HQL时需要注

Hibernate 关于执行sql查询语句(转)

原文  http://www.yshjava.cn/post/543.html 主题 SQLHibernate Hibernate对原生SQL查询的支持和控制是通过SQLQuery接口实现的.通过Session接口,我们能够很方便的创建一个SQLQuery(SQLQuery是一个接口,在Hibernate4.2.2之前,默认返回的是SQLQuery的实现类--SQLQueryImpl对象,在下文中出现的SQLQuery如非注明,都是指该子类)对象来进行原生SQL查询: session.creat

笔记:Hibernate SQL 查询

Hibernate 支持使用原生的SQL查询,使用原生SQL查询可以利用某些数据库特性,原生SQL查询也支持将SQL语句放在配置文件中配置,从而提高程序的解耦,命名SQL查询还可以用于调用存储过程. SQL查询是通过SQLQuery接口来表示的,SQLQuery接口是Query接口的子接口,完全可以使用Query接口的方法,SQLQuery增加了二个重载方法 addEntity():将查询到的记录与特定的实体关联 addScalar():江查询的记录关联标量值 执行SQL的步骤如下: 获取Hib

13.hibernate的native sql查询(转自xiaoluo501395377)

hibernate的native sql查询 在我们的hibernate中,除了我们常用的HQL查询以外,还非常好的支持了原生的SQL查询,那么我们既然使用了hibernate,为什么不都采用hibernate推荐的HQL查询语句呢?这是因为HQL查询语句虽然方便我们查询,但是基于HQL的查询会将查询出来的对象保存到hibernate的缓存当中,如果在我们的一个大型项目中(数据量超过了百万级),这个时候如果使用hibernate的HQL查询的话,会一次将我们查询的对象查询出来后放到缓存中,这个时

Hibernate之SQL查询

Hibernate支持使用原生的SQL语句进行查询.使用原生的SQL的好处是:可以利用某些数据库的特性(不同的数据库SQL 语法会有所差异), 将原有的使用JDBC作为持久层技术的应用 ,迁移到使用Hibernate作为持久层技术. 我们知道 使用HQL查询 主要牵涉的是 Query接口,而使用SQL查询 主要牵涉的 是 SQLQuery接口  . 而SQLQuery接口 是 Query接口的子接口. 所以 Query接口中的方法 ,均可以在SQLQuery接口中使用 ,SQLQuery接口还多

C语法归约之函数(2)

上篇给出了数组和指针的归约过程,此篇要进一步开辟新阵地--函数!主要用到文法树中的类型和抽象类型以及语句中的compound-stm; 语句和表达式的归约过程将在后期陆续给出,这里函数定义只是简单的一对花括号. 函数声明和定义归约 示例代码 本代码部分来自与C99标准中的范例 int f(void); int f(char *str, ...); int *fip(); int (*pfi)(); int (*apfi[3])(int *x, int *y); int (*fpfi(int (*