`
sunbin
  • 浏览: 349706 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

一些常用的HQL写法(转)

 
阅读更多

 

 

1.hql更新
   String hql = "update PhUser set realName=?";
   int row=this.getSession().createQuery(hql).setString(0, "小李想").executeUpdate();
   PhUser 类名
2.hql删除
   String hql = "delete PhUser a where a.userId=2";
   int row=this.getSession().createQuery(hql).executeUpdate();
   还有个这种的格式:
   final String hql = "delete PhRoleFunction as a where a.roleId = "
     + roleId;
   this.getHibernateTemplate().execute(new HibernateCallback() {
    public Object doInHibernate(Session session)
      throws HibernateException, SQLException {
     return session.createQuery(hql).executeUpdate();
    }
   });更新也可以写成这样的格式
3.hql单表查询
   String hql = "from PhUser a where a.userId=" + userId;
   List list = this.getHibernateTemplate().find(hql);
4.hql多表查询
   (1)String hql = "select new map(a.CUId as CUId,a.unitName as unitName,b.CUFId as CUFId,b.UFName as UFName) from PhCorrelativeUnit a,PhCorrelativeUnitFunction b where a.CUId=b.CUId";
   List list = this.getHibernateTemplate().find(hql);
   多个表的字段放到map中,map的键值就是as后面的别名,如果没有as就是字段名
   (2) String hql = "select new com.phantom.appeal.action.bean.DealPaper(a.id as id,a.billId as billId,a.state as     state,a.creator as creator,a.createtime as createtime ,b.eventContent as eventContent ,c.realName as     realName,b.billCode as billCode,b.citName as citName ) from PhDealBill a,PhAcceptBill b,PhUser c where    a.departmentId="+ billid+ " and a.state=0 and a.billId=b.billId and a.creator =c.userId order by a.billId";
    return this.getHibernateTemplate().find(hql);
   另外就是写一个类,对应你要查询的字段,这里的类名是new com.phantom.appeal.action.bean.DealPaper,里面对应查询的字段名
5.得到记录数
   String hql = "select count(*) from PhUser";
   List list = this.getHibernateTemplate().find(hql);
   return ((Long) list.get(0)).intValue();
</SPAN>

6 In语句  效率不高,但是很实用啊

String hql = "from Errmodtb em where em.errprocessstate=3 and em.siteno in (select d.id.code from Dicinfo d where d.parentcode = '"+d.getId().getCode()+"')" ;

分享到:
评论

相关推荐

    Hibernate框架]Hql语句in中带参数的写法

    Hibernate框架Hql语句in中带参数的写法 Hibernate框架中,在使用HQL语句时,需要传递参数,而在HQL语句中使用in关键字时,需要特别注意参数的传递方式。在本文中,我们将讨论如何在HQL语句中使用in关键字带参数的...

    HQL的几钟常见写法

    ### HQL的几种常见写法 #### 概述 HQL(Hibernate Query Language)是Hibernate框架提供的一种查询语言,它支持面向对象的语法结构,并且能够很好地与Java对象模型进行映射。通过HQL,开发者可以更加灵活地操作...

    Hibernate-HQL语句多对多写法

    "Hibernate-HQL语句多对多写法" Hibernate 是一个流行的 Java 持久层框架,它提供了强大的对象关系映射(ORM)功能,使得开发者可以方便地与数据库交互。但是,在使用 Hibernate 时,我们经常会遇到多对多关系的...

    HibernateDAO的写法

    - 封装:DAO类应封装具体的SQL查询和HQL(Hibernate Query Language)语句,避免在业务层暴露这些细节。 - 单一职责:每个DAO类应只负责一种类型的数据操作,如用户DAO只处理用户相关的操作。 - 可复用:设计通用的...

    Hibernate_NSQL&HQL增删改操作

    ### Hibernate中的NSQL与HQL增删改操作详解 #### NSQL(Native SQL)与HQL(Hibernate Query Language) 在Hibernate框架中,进行数据库操作时,开发者可以选择使用两种不同的查询语言:NSQL(Native SQL)和HQL...

    内连接与外连接的精简写法

    内连接与外连接的精简写法,可用于sql和hql中,即使hql中两实体不存在实际上的主外键关系,也适用。

    hibernate配置文件以及类映射文件常用写法1

    本文将深入探讨Hibernate的配置文件和类映射文件的常用写法,帮助开发者更好地理解和应用Hibernate。 首先,我们来看`Hibernate.cfg.xml`配置文件,它是Hibernate应用的核心配置,包含了数据库连接、方言、自动建表...

    HQL Hibernate查询语言

    所以我们几乎只使用简单的写法:from Cat。 大多数情况下,你需要指定一个别名,原因是你可能需要在查询语句的其它部分引用到 Cat。例如:from Cat as cat,这个语句把别名 cat 指定给类 Cat 的实例,这样我们就...

    hibernate hql基本操作

    - **类名简化**:通常情况下无需使用类的全限定名,因为Hibernate默认开启了自动引入功能,简化后的写法为`from Cat`。 - **指定别名**:在大多数情况下,需要为查询的目标类指定一个别名,以便在后续查询中使用。...

    HQL语句大全

    - **简化语法**:可以简化`inner join`和`left outer join`的写法。 - 示例:`from Cat as cat join cat.mate as mate left join cat.kittens as kitten`。 - **fetch连接**:用于在一次查询中同时初始化相关联的...

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

    如果我们不需要使用类的全限定名,因为 auto-import 是缺省的情况,我们可以使用简单的写法: ``` from Cat ``` 在大多数情况下,我们需要指定一个别名,例如: ``` from Cat as cat ``` 这将把别名 cat 指定给类 ...

    SSH项目实例,有不同写法模板

    Hibernate提供了查询语言HQL,以及Criteria API,使得数据库查询更为便捷。此外,它的缓存机制能提高数据访问效率。 在这个SSH项目实例中,"templet"可能包含了一系列模板文件,如Struts的配置文件(struts.xml)、...

    中英文简历的写法,想写好简历就下吧。

    本资源提供的是"中英文简历的写法",意在帮助求职者打造专业且具有吸引力的简历。 首先,我们需要了解简历的基本构成。一份好的简历通常包含以下几个部分:个人信息、求职意向、教育背景、工作经验、项目经历、技能...

    hibernate常用语句

    本篇将深入讲解在Hibernate中常用的查询语句,包括HQL(Hibernate Query Language)和QBC(Query By Criteria)两种方式。 1. HQL(Hibernate Query Language)是面向对象的查询语言,它允许开发者以类和属性的名字...

    PV、UV的几种写法

    一、HQL(Hive Query Language)写法 在HQL中,通常我们用`COUNT(DISTINCT column)`来计算UV,但这种方法在数据量大时可能会影响性能。为了优化,可以采用以下方式: ```sql -- 计算UV SELECT tmp.shop, COUNT(1) ...

    简单的SSH三层架构+Ajax实现Google自动搜索极为相似版+直接Excel导入数据库

    SSH(Struts + Spring + Hibernate)是一种常用的Java Web开发框架,用于构建高效、可扩展的Web应用程序。SSH三层架构是指模型(Model)、视图(View)和控制器(Controller)的分层设计。 1. **Struts**:作为MVC...

    Hibbernate应用练习

    6. **查询语言(HQL)**: Hibernate 查询语言(HQL)是 Hibernate 提供的面向对象的查询语言,类似于 SQL,但操作对象而非表。 **二、Hibernate 工作流程** 1. **初始化 Hibernate**: 加载配置文件,创建 ...

    Oracle的SQL分页实践

    使用JDBC时,可以结合LIMIT和OFFSET子句(Oracle不支持LIMIT,但可以通过ROWNUM模拟)来实现分页,而在Hibernate中,可以使用Criteria API或HQL的`setFirstResult`和`setMaxResults`方法来实现相同的功能。...

    hive优化总结

    Hive优化总结是Hive性能优化的总结,涉及HIVE的参数设置、HQL语言的写法、JOIN操作的优化、MapReduce操作的优化、列裁剪、分区裁剪等多个方面。 1. 配置文件优化 Hive的配置文件hive-site.xml是Hive的核心配置文件...

    2023年Java相关课程系列笔记之十四Hibernate学习笔记.doc

    在本篇“2023年Java相关课程系列笔记之十四Hibernate学习笔记”中,我们将深入探讨Java开发中常用的持久化框架——Hibernate。这个框架由梁建全老师主讲,旨在帮助开发者更高效、便捷地进行数据库操作,弥补JDBC在...

Global site tag (gtag.js) - Google Analytics