`

HQL: select子句

 
阅读更多

查询语句可以返回值为任何类型的属性或对象,包括返回类型为某种组件(Component)的属性:
select cust.name.firstName from Customer as cust
select cat.mate from Cat cat

查询语句可以返回多个对象和(或)属性,存放在 Object[] 队列中:
select mother , offspr , mate.name
from DomesticCat as mother
    inner join mother.mate as mate
    left join mother.kittens as offspr

或存放在一个List 对象中:
select new list (mother, offspr, mate.name)
from DomesticCat as mother
    inner join mother.mate as mate
    left outer join mother.kittens as offspr

 

也可能直接返回一个实际的类型安全的Java对象(假设类Family 有一个合适的构造函数 ):
select new Family( mother, mate, offspr)
from DomesticCat as mother
    join mother.mate as mate
    left join mother.kittens as offspr

也可以使用关键字as 给“被选择了的表达式”指派别名:
select max(bodyWeight) as max , min(bodyWeight) as min , count(*) as n
from Cat cat
这种做法在与子句select new map 一起使用时最有用:
select new map( max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n )
from Cat cat

分享到:
评论

相关推荐

    hql语句大全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`子句...

    Hibernate之HQL查询

    HQL的SELECT子句** 在HQL中,SELECT不仅可以选择对象,还可以选择对象的属性,甚至可以进行复杂的计算或函数调用。比如: ```sql SELECT s.name, AVG(s.age) FROM Student s GROUP BY s.name ``` 这个查询会按...

    Hibernate查询语言HQL.PPT

    * select 子句:选择将对象的属性返回到查询结果集中。 * where 子句:允许你将返回的对象的实例列表的范围缩小。 HQL 的应用示例: * 使用 HQL 检索对象:User user = (User) session.createQuery("from User ...

    Hibernate_HQL大全

    6. **SELECT子句**:HQL的SELECT子句用于指定查询结果中包含的对象或属性。例如,“SELECT mate FROM Cat”将返回Cat实体的mate属性的值。 7. **ORDER BY与WHERE子句**:这些子句的功能与SQL类似,用于对查询结果...

    HQL语句详解Select/update/deletefromwhere...

    HQL也支持`WHERE`子句进行条件过滤,例如: ```java String hql = "from User user where user.age = 20"; List<User> list = session.createQuery(hql).list(); ``` 除了简单的等于条件,还可以使用更复杂的逻辑...

    Hibernate-HQL.rar_HQL_hibernate hql

    1. SELECT子句:HQL支持多种选择项,包括属性、方法、计算表达式等,如“SELECT u.name FROM User u”。 2. FROM子句:指定查询的实体类,如“FROM User”。 3. WHERE子句:设置查询条件,支持逻辑运算符(AND、OR...

    hql中常用函數介紹

    hql: "select (select max(e.pay) from a.employee e where e.name=:name) from company a"; ``` 三、coalesce函数 `coalesce`函数在HQL中用于返回第一个非空表达式。如果所有参数都为空,它将返回NULL。语法如下:...

    HQL语句大全HQL语句大全

    select子句 - `select`子句用于指定查询结果中包含的字段或属性。 - **示例**:`select p.name from Person as p` - 该语句表示只查询`Person`表中的名字属性。 ##### 3. 聚合函数 - HQL支持SQL中的聚合函数,如...

    学习HQL语句

    from 子句返回指定的类的所有实例,而 select 子句可以选择对象的某些属性。 例如,from Order 将返回 Order 类的所有实例,而 select product from Order as o inner join o.products as product 将返回 Order 中...

    HQL查询pdf资料

    HQL查询的基本结构包括关键字如`SELECT`、`FROM`、`WHERE`、`GROUP BY`、`HAVING`、`ORDER BY`等,这些关键字的使用与SQL非常相似,但是HQL还支持面向对象的特性,如属性路径表达式。 ##### 实体的更新与删除 在...

    全面解析HQL语句 非常详细直接的HQL语句的功能介绍

    select子句 `select`子句用于指定返回结果集的字段或属性。HQL支持多种选择方式,包括: - `select p.name from Person as p`:选择`Person`实体的`name`属性。 - `select new list(p.name, p.address) from ...

    Hibernate查询语言(HQL)

    #### 七、SELECT 子句 - **选择特定字段**: ```sql SELECT mate FROM com.example.Cat AS cat INNER JOIN cat.mate AS mate; ``` 以上查询将返回所有 Cat 实例的 mate 属性。 - **组件选择**: ```sql ...

    超级详细的hql查询语句教程

    ### HQL查询语句详解 #### 一、HQL简介 Hibernate Query Language(HQL)是一种面向对象的查询语言,其语法与SQL相似但并非完全相同。HQL的设计旨在更好地支持面向对象编程特性,比如继承、多态以及关联等概念。...

    课程hibernate查询集合.pdf

    select子句允许我们选择需要查询的具体属性。例如,`select s.name from Student s`将返回`Student`对象的`name`属性。查询结果通常存储在列表中,可以通过循环遍历并访问每个属性。如果需要查询多个属性,结果将以...

    hql精点查询语句.doc

    SELECT子句用于选择查询结果中包含的字段或属性。HQL支持多种选择方式: - `select p.name from Person as p`:选择Person实体的所有name属性。 - `select p.name.firstName from Person as p`:选择Person实体中...

    hql语句语法详解hql语句

    `SELECT` 子句用于指定要返回的数据列。在HQL中,可以使用以下几种方式来指定返回列: - 返回整个对象:`SELECT p FROM Person AS p` - 返回特定属性:`SELECT p.name FROM Person AS p` - 返回嵌套属性:`SELECT p...

    精通hibernate HQL语言

    String hql = "select s.sdept, count(s) from Student s group by s.sdept order by s.sdept"; List[]> departmentCounts = session.createQuery(hql).list(); ``` 这里,`group by`语句用于按系别分组,`count(s)...

    HQL语句的语法

    1. **from 子句**:这是HQL查询的起点,用于指定要查询的持久化类。例如,`from Person as p`表示从`Person`类中选择所有实例。`as p`是别名,方便后续引用。 2. **select 子句**:用于定义查询结果的内容。可以是...

    Hibernate查询语言(HQL) 语法参考

    Hibernate 查询语言(HQL)语法...HQL 还支持其他子句,例如 where、order by、group by 等,可以用于对查询结果进行过滤、排序和分组等操作。 HQL 是一种强大的查询语言,它可以帮助我们快速、高效地检索和操作数据。

Global site tag (gtag.js) - Google Analytics