Hibernate中的HQL查询方式详解

本文详细介绍了Hibernate的HQL查询,包括简单查询、别名查询、排序、条件、投影、分页、分组统计及多表查询。通过实例代码展示了各种查询方式,特别讲解了多表查询中的交叉连接、内连接、外连接以及迫切连接的使用,并提到了去重策略。
摘要由CSDN通过智能技术生成
Hibernate中的HQL查询方式详解

HQL查询:Hibernate Query Language。

是一种面向对象的方式的查询语言。


1、HQL的简单查询

测试代码:

package com.pipi.hibernate04;

import myutils.HibernateUtil;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import java.util.List;

// HQL简单查询,没有条件的查询
public class Test03_HQL {
   
    public static void main(String[] args) {
   

        Session session = HibernateUtil.getCurrentSession();
        Transaction transaction = session.beginTransaction();

        //String hql = "from com.pipi.hibernate04.Dept";
        String hql = "from Dept";
        Query query = session.createQuery(hql);
        List<Dept> depts = query.list();

        for (Dept d : depts) {
   
            System.out.println(d);
        }

        transaction.commit();
    }
}

2、HQL的别名查询

测试代码:

package com.pipi.hibernate04;

import myutils.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.Transaction;

import java.util.List;

// HQL的别名查询
public class Test04_HQL {
   
    public static void main(String[] args) {
   

        Session session = HibernateUtil.getCurrentSession();
        Transaction transaction = session.beginTransaction();

        //String hql = "from Dept as d";
        String hql = "select d from Dept as d";
        List<Dept> depts = session.createQuery(hql).list();

        for (Dept d : depts) {
   
            System.out.println(d);
        }

        transaction.commit();
    }
}

3、HQL的排序查询

测试代码:

package com.pipi.hibernate04;

import myutils.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.Transaction;

import java.util.List;

// HQL的排序查询
public class Test05_HQL {
   
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值