`

HQL 关联查询简单实现_hibernate_left_right HQL

阅读更多


public class Emp {
    private int id;
    private String name;
    private Dept dept;

}
public class Dept {

    private int id;
    private String name;
    private Set<Emp> emps;

}


//##################################
    <class name="com.tom.Emp" >
       <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="identity" />
        </id>
        <property name="name" />
        <many-to-one name="dept" column="dept_id" class="com.tom.Dept" />
    </class>
//##################################
    <class name="com.tom.Dept" >
       <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="identity" />
        </id>
        <property name="name" />
       
        <set name="emps">
           <key column="dept_id"/>
           <one-to-many class="com.tom.Emp"/>
        </set>
    </class>

//##################################
INSERT INTO `dept` (`id`,`name`) VALUES
 (1,'技术部1'),
 (2,'技术部2'),
 (3,'财务部门');

 INSERT INTO `emp` (`id`,`name`,`dept_id`) VALUES
 (1,'tom',1),
 (2,'jerry',1),
 (3,'tom2',2),
 (4,'jerry2',2),
 (5,'kaka',NULL);



//String hql = "select d.name , d.emps.name from com.tom.Dept d";
//String hql = "select e.dept.name ,e.name from com.tom.Emp e right join e.dept";
//String hql = "select e.dept.name ,e.name from com.tom.Emp e left join e.dept";
//for(Object[] o : oo){
// System.out.println("部门名称"+o[0]+"雇员名称"+o[1]);
//}

分享到:
评论

相关推荐

    hibernateHQL关联查询

    本文将重点介绍Hibernate中的关联查询,并深入探讨HQL关联查询的实现原理及应用场景。 #### 二、数据库表连接概述 在理解Hibernate HQL关联查询之前,我们需要先回顾一下数据库表连接的基本概念及其分类。数据库表...

    Spring--HQL-chaxun.zip_HQL

    使用`JOIN`关键字可以实现对象之间的关联查询,包括内连接(INNER JOIN)、外连接(LEFT JOIN、RIGHT JOIN)。 8. **子查询**: HQL支持在查询语句中嵌套查询,可以作为WHERE子句的一部分,也可以在SELECT语句中...

    HQL Hibernate查询语言

    HQL(Hibernate Query Language)是 Hibernate 中的一种强大的查询语言,它看起来很像 SQL,但是不要被语法结构上的相似所迷惑,HQL 是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态和关联之类的...

    Hibernate_HQL大全

    通过JOIN关键字,HQL能够处理实体间的关联,从而实现对关联实体的查询。例如,“JOIN cat.mate as mate”用于内连接,而“LEFT JOIN cat.kittens as kitten”则用于左外连接,以便处理可能存在空值的情况。 5. **...

    Hibernate-HQL-查询-Query资料

    - 可以直接在HQL中查询关联的对象,如LEFT JOIN、INNER JOIN等。 - 通过导航属性访问关联对象,无需明确指定JOIN语句。 7. **子查询** - HQL支持在SELECT、FROM、WHERE子句中使用子查询。 - 子查询可以返回单个...

    Hibernate 多表连接分页查询示范项目

    Hibernate 支持多种方式来实现多表连接查询,包括 HQL(Hibernate Query Language)和 Criteria 查询。本项目主要关注 Criteria API 的使用,这是一种基于 Java 对象的查询方式,更加灵活且易于理解和维护。 **...

    Hibernate之HQL查询

    例如,假设我们有一个`Student`类,包含`name`和`age`属性,一个简单的HQL查询可能如下: ```sql SELECT s FROM Student s WHERE s.age &gt; 18 ``` 这个查询会返回所有年龄大于18岁的学生对象。 **2. HQL的SELECT...

    hibernate 中HQL语句查询学习笔记

    **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及关联关系的查询。 ##### 默认数据库表和数据 在本文档...

    传智播客_hibernate

    2. **HQL(Hibernate Query Language)**: Hibernate特有的查询语言,类似于SQL,但更面向对象。 3. **Criteria查询**: 提供一种面向对象的查询方式,通过Criteria和DetachedCriteria构建查询条件。 4. ** ...

    hibernate查询语句--HQL

    这些连接操作可以帮助开发人员在多个表之间建立关联,从而实现更复杂的查询需求。 1. **内连接**: ```hql select employee.ID as id1, employee.Name as name1, department.ID as id2, department.Name as name2...

    HQL查询语言基础知识

    HQL 中的 JOIN 语句用于关联多个表,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL JOIN。 * INNER JOIN:select employee.ID as id1,employee.Name as name1,department.ID as id2,department.Name as name2 ...

    HQL连接查询和注解使用总结

    ### HQL连接查询和注解使用总结 ...以上总结了HQL连接查询的不同类型及其语法特点,以及如何在Hibernate中利用注解配置持久化类及其关联关系。这些知识对于理解和使用Hibernate进行高效数据库操作至关重要。

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

    HQL(Hibernate Query Language)是 Hibernate 框架中的一种强大的查询语言,它类似于 SQL 语句,但是它是完全面向对象的查询语言,可以理解继承、多态和关联等概念。 大小写敏感性问题 在 HQL 中,除了 Java 类与...

    Hibernate查询语言(HQL)

    Hibernate 查询语言(HQL)是一种功能强大的查询语言,它与 SQL 在语法上有一定的相似性,但 HQL 被设计成面向对象的语言,能够理解诸如继承、多态和关联等概念。这种特性使得 HQL 成为了在 Hibernate 中执行数据...

    Hibernate-HQL语句多对多写法

    在这种情况下,我们需要使用 Hibernate 的 HQL 语言来编写查询语句,以便检索和操作数据。 在这个例子中,我们有三个实体类:Menu、Privilege 和中间表 menu_privilege。Menu 实体类中有一个 privileges 列表字段,...

    另类查询 Hibernate HQL 深度历险

    【Hibernate HQL 深度历险】是一个关于掌握Hibernate查询语言高级特性的技术主题。Hibernate Query Language(HQL)是Hibernate框架提供的面向对象的查询语言,它与SQL类似但针对对象模型,允许开发者直接查询对象而...

    hibernate关联查询

    在Hibernate中,我们可以使用HQL(Hibernate Query Language)或者Criteria API来进行关联查询。HQL是面向对象的查询语言,它允许我们根据对象的关系来编写查询语句,例如: ```sql from User u where u.orders....

    HQL(Hibernate Query Language):

    6. **连接查询**:通过JOIN关键字,可以处理多表关联查询,包括内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。 7. **子查询**:在SELECT或WHERE子句中使用子查询,提供更灵活的...

Global site tag (gtag.js) - Google Analytics