hibernate的HQL查询语句

本文详细介绍了Hibernate的HQL查询语句,包括标准查询、条件查询、模糊查询、范围查询、属性值查询、分页查询、聚合函数应用、分组统计、子查询以及外连接。强调HQL操作的对象是实体类而非表,条件基于对象属性。同时,也提到了原生SQL查询作为补充。
摘要由CSDN通过智能技术生成

1、标准查询Criteria (主要应用于简单的查询)

		Session session=HibernateSessionFactory.getSession();
		Query query=null;
		Criteria criteria=session.createCriteria(Orders.class);
		criteria.addOrder(Order.desc("orderDate"));//按照日期字段进行升序排序
		List<Orders> lsod=criteria.list();
		for (Orders od : lsod) {
			System.out.println("订单编号:"+od.getOrderId());
			System.out.println("==================");
		}

2、HQL查询根据指定条件查询
注意:
所有HQL语句查询的都是实体类名,而不是表名,所有的条件都是对象的属性,而不是字段。
eg:from Orders where orderMode=? and orderTotal>?
Orders 为表映射的实体对象
orderMode、orderTotal为Orders 的属性

		 // 查询订单信息,条件为订购模式为direct,订单金额大于10000元的订单信息
		String hql="from Orders where orderMode=? and orderTotal>? order by orderTotal";
		query=session.createQuery(hql);
		//设置查询参数
		query.setParameter(0, "direct");  //0表示第一个“?”
		query.setParameter(1, 10000.00);  //1表示第二个“?”
		List<Orders> lsod=query.list();
		for (Orders od : lsod) {
			System.out.println("订单编号:"+od.getOrderId());
			System.out.println("==================");
		}

3、hql–模糊查询

	//查询产品信息中产品名称包含HD的所有产品信息
		String hql="from ProductInformation where productName like ?";
		query=session.createQuery(hql);
		query.setParameter(0, "%HD%");
		List<ProductInformation> lspd=query.list();
		for (ProductInformation pd : lspd) {
			System.out.println("产品编号:"+pd.getProductId());
			System.out.println("========================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值