通过这几天对hql的学习 发现个有趣的事情 返回select子句 想要的类型
首先顶一个实体类
public class Person{
private Integer id;
private String name;
private String password;
//关键是构造方法 你想返回什么样的东东,就定义什么样的东西。
public Person(){
//默认的
}
public Person(Integer id,String name){
//只要id 和 name的
this.id = id;
this.name = name;
}
//get and set .....
}
//然后就是写查询hql语句了
//如果你只想要id和name 那么就这样写
select new Person(p.id , p.name) from Person p;
//然后接收就可以用List<Person> 了。
猛一看很是鸡肋,但是在我用在group by里时 就用到了 要不然 hibernate默认是给你返回Object[] 数组的。当然你也可以把它一List的方式返回
select new List(p.id , p.name) from Person p; //就可以了
详细请看《hibernate_reference.pdf》我这几天 就看它又仔细的学习了hql查询。。。
分享到:
相关推荐
在Java环境中,HQL的SELECT子句类似于SQL中的SELECT,但更侧重于面向对象的特性。例如: ```sql SELECT new org.hibernate.eg.FOO(foo.bar, foo.BARSET) FROM org.hibernate.eg.Foo AS foo ``` 这里,`SELECT`子句...
from 子句返回指定的类的所有实例,而 select 子句可以选择对象的某些属性。 例如,from Order 将返回 Order 类的所有实例,而 select product from Order as o inner join o.products as product 将返回 Order 中...
HQL的SELECT子句** 在HQL中,SELECT不仅可以选择对象,还可以选择对象的属性,甚至可以进行复杂的计算或函数调用。比如: ```sql SELECT s.name, AVG(s.age) FROM Student s GROUP BY s.name ``` 这个查询会按...
### HQL语句详解:Select/update/delete from where... 在探讨HQL(Hibernate Query Language)时,我们首先要了解它是一种用于Hibernate框架中的查询语言,其语法结构与标准SQL查询语言非常相似,但又针对对象关系...
* where 子句:允许你将返回的对象的实例列表的范围缩小。 HQL 的应用示例: * 使用 HQL 检索对象:User user = (User) session.createQuery("from User where id = :id").setParameter("id", userID)....
此查询将返回所有`GraduateStudent`类型的对象。 ##### 3.2 限制每次查询的返回对象数 使用LIMIT子句可以限制返回的结果数量: ```hql SELECT s FROM Student s ORDER BY s.sage DESC LIMIT 10 ``` 此查询将返回...
select子句 `select`子句用于指定返回结果集的字段或属性。HQL支持多种选择方式,包括: - `select p.name from Person as p`:选择`Person`实体的`name`属性。 - `select new list(p.name, p.address) from ...
在HQL查询语言中,`FROM`子句用于指定查询数据来源的实体或表。例如: ```hql FROM Person as p ``` 这里的`Person`表示的是一个持久化类,即ORM映射中的实体类。`as p`则定义了一个别名`p`,方便后续在查询语句中...
SELECT子句定义了查询返回的对象或对象属性。以下是一些示例: - `select employee from Employee as employee` - 返回Employee类的所有实例。 - `select employee from Employee as employee where employee.Name ...
- **指定列查询**:可以指定要查询的属性,如`String hql="select id,name From User as user";` - **返回单个值**:当查询结果只有一列时,可用`uniqueResult()`获取单个值。 - **集合元素类型**:查询多列返回...
1. SELECT子句:HQL支持多种选择项,包括属性、方法、计算表达式等,如“SELECT u.name FROM User u”。 2. FROM子句:指定查询的实体类,如“FROM User”。 3. WHERE子句:设置查询条件,支持逻辑运算符(AND、OR...
`from`子句是HQL的基础,用于指定要查询的实体或实体的别名。例如: - **单表查询**: ```hql from eg.cat as cat ``` 这里`cat`是`eg.cat`实体的别名,便于后续查询时使用。 - **多表查询**: ```hql from ...
HQL查询的基本结构包括关键字如`SELECT`、`FROM`、`WHERE`、`GROUP BY`、`HAVING`、`ORDER BY`等,这些关键字的使用与SQL非常相似,但是HQL还支持面向对象的特性,如属性路径表达式。 ##### 实体的更新与删除 在...
此外,`select`子句则定义了查询返回的结果,可以是对象的属性、构造器创建的新对象,甚至是集合或映射。例如,`select p.name from Person as p`将返回所有Person对象的name属性。 统计函数在HQL中扮演着重要角色...
HQL多结果集是指在一个查询语句中返回多个结果集,这些结果集可以是单个实体、实体集合或者是实体的属性组合等。这种方式非常适用于需要同时获取多种类型数据的场景。 #### 三、HQL多结果集的使用方法 ##### 1. ...
例如,如果你想找到所有选修了某课程的学生,可以写成 `from Student s join s.courses c where c.cname='数学'`。 6. **聚合函数**:可以使用COUNT、AVG、MAX、MIN和SUM等聚合函数,如 `select count(s.id) from ...
### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...
此外,`select`子句可以用于指定返回的属性,例如`select product.name from Order as o inner join o.products as product`将返回Order中的每个Product对象的名称。 ### 约束(Constraint) 约束是过滤数据的关键...
`select`子句用于定义查询返回的内容。你可以选择返回整个对象,或者只返回对象的部分属性。例如,`select c.name from Cat as c`将返回所有猫的名字。复杂的查询可以选择多个对象或属性,或者使用聚合函数,如`...
SELECT子句用于选择查询结果中包含的字段或属性。HQL支持多种选择方式: - `select p.name from Person as p`:选择Person实体的所有name属性。 - `select p.name.firstName from Person as p`:选择Person实体中...