`

hibernate hql里可以new对象.

阅读更多
 
String hql = " select new  com.domain.MyUser(name,passwd) from Users";     
Query query = session.createQuery(hql);    //默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是MyUser对象了         
List myUsers = query.list();            
for(MyUser myUser : myUsers){                 
	String name = myUser.getUsername();      
	String passwd = myUser.getPassword();       
	System.out.println(name + " : " + passwd);       
	}  

 
// 如果是多个实体,需写上对应的别名

public CommissionArDetailQueryResult findCommDetailHeadInfo(SettleModel  docHead,SettleARModel arItem){
		String hql=
			"select distinct new com.coscon.cbs.domain.model.test.CommissionArDetailQueryResult"
			+"( commBl.billReferenceCode,commBl.companyCode,bizInfo.cargoTradeLaneCode,bizInfo.porUuid,shmtCntr.outBoundDoorCyIndicator " 
			+",shmtCntr.inboundDoorCyIndicator,bizInfo.fndUuid,bizInfo.firstLoadingSvvdId,bizInfo.firstPodCode,bizInfo.firstBaseLoadingSvvdId " 
			+",bizInfo.firstBasePolCode,bizInfo.lastBaseLoadingSvvdId,bizInfo.lastBasePodCode,bizInfo.lastLoadingSvvdId,bizInfo.lastPodCode ) "
			+
			" from " 
			    +" com.coscon.cbs.domain.model.test.SettleModel  docHead, " 
			    +" com.coscon.cbs.domain.model.test.CbsSettlementBusinessInformation  bizInfo ," 
				+" com.coscon.cbs.domain.model.test.CbsCommissionBill commBl ," 
				+" com.coscon.cbs.domain.model.test.SettleARModel arItem,"  
				+" com.coscon.cbs.domain.model.test.CbsCommissionContainer commCntr," 
				+" com.coscon.cbs.domain.model.test.CbsShipmentContainerPackageInformation shmtCntr " 
				+
			" where " 
				+ " bizInfo.businessReferenceUuid = "+docHead.getBizRefUuid() 
				+ " and commBl.billBasicUuid= "+docHead.getBizRefUuid() 
				+ " and commBl.companyCode = "+docHead.getCompanyCde()
				+ " and commBl.commissionMode = "+arItem.getChrgCdeGrp()
				+ " and commBl.commissionType = "+arItem.getChrgCde()
				+ " and commBl.companyCode = commCntr.companyCode " 
				+ " and commBl.commissionMode = commCntr.commissionMode " 
				+ " and commBl.agencyCode = commCntr.agencyCode "
				+ " and commBl.billBasicUuid = commCntr.billBasicUuid " 
				+ " and shmtCntr.shipmentContainerPackageUuid = commCntr.shipmentContainerPackageUuid " ;
		CommissionArDetailQueryResult queryResult = (CommissionArDetailQueryResult) cbsModuleRepository.getSessionFactory().getCurrentSession().createQuery(hql).list().get(0);
		return queryResult;
	}
String sql = "select test1,test2 from Test1 test1,Test2 test2"; 
	List list =  session.find(sql); 
	for(int i=0;i<list.size();i++) 
	{ 
	    Object[] obj = (Object[])list.get(i); 
	    Test1 t1 = (Test1)obj[0]; 
	    Test2 t2 = (Test2)obj[1]; 
	}


 
分享到:
评论

相关推荐

    Hibernate HQL详解.docx

    Hibernate HQL,全称为Hibernate Query Language,是Hibernate框架中用于操作数据库的一种面向对象的查询语言。它允许开发者用面向对象的方式来编写查询语句,极大地提高了开发效率和代码的可读性。以下是对HQL的...

    Hibernate hql查询语法总结

    其内置的HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者以类和对象的方式进行数据查询。本文将对Hibernate HQL查询语法进行总结,涵盖基础查询、属性查询、实例化查询以及查询链接等多个...

    Hibernate HQL.txt

    根据提供的文件信息,我们可以深入探讨Hibernate HQL(Hibernate Query Language)的相关知识点,特别是关于其查询功能、连接操作、条件过滤以及聚合函数的应用等。 ### Hibernate HQL简介 Hibernate HQL是一种...

    Hql详解[文].pdf

    - 使用`new`关键字可创建新对象,如`String hql = "select new User(id,name)From User";`,返回`List<User>`列表。 - 判断查询结果是否为数组,可以使用`obj.getClass().isArray()`。 4. **分页查询** - ...

    Hibernate HQL 结合 velocity

    **Hibernate HQL(Hibernate Query Language)** 是Hibernate提供的一个面向对象的查询语言,类似于SQL,但它是针对对象模型设计的。HQL允许开发者使用类和属性的名字而不是表和列名进行查询,从而降低了对底层...

    Hibernate 课件_HQL

    - **定义**: HQL(Hibernate Query Language)是一种面向对象的查询语言,它的语法类似于SQL,但不同于直接操作数据库表,HQL操作的是持久化的Java对象。这意味着在编写查询时,可以使用Java对象模型中的类名和属性...

    hibernate-release-4.3.9.Final.rar

    《Hibernate 4.3.9.Final:持久化...通过深入理解Hibernate 4.3.9.Final,开发者可以更高效地管理数据库操作,提升应用性能,同时减少对SQL的依赖,专注于业务逻辑。掌握好Hibernate,无疑是Java开发者的必备技能之一。

    hibernate hql where语句拼接工具类

    HQL(Hibernate Query Language)是Hibernate提供的一个SQL的面向对象的查询语言,它使得开发者可以避免直接编写SQL语句,从而更好地进行数据库操作。本文将深入探讨“hibernate hql where语句拼接工具类”,并结合...

    hibernate查询之HQLhibernate查询之HQL

    Hibernate查询之HQL是ORM(对象关系映射)框架Hibernate中的一个重要组成部分,它是一种面向对象的查询语言,与SQL有着显著的区别。HQL允许开发者使用类名和属性而不是表名和列名进行查询,从而更好地适应面向对象的...

    hibernate-release-5.0.7.Final.zip官方

    Hibernate 是一款开源的对象关系映射(Object-Relational Mapping,简称 ORM)框架,它为 Java 应用程序提供了对数据库存储的高效管理和访问能力。Hibernate 5.0.7.Final 版本作为 Hibernate 5.0 系列中的一个稳定版...

    Hibernate工作中应用的总结.doc

    - **Query**:`Query`接口用于执行HQL(Hibernate Query Language)或SQL查询,提供对数据库数据的检索。 5. **日志配置** - 日志配置文件`log4j.properties`可以帮助跟踪SQL执行。在开发阶段,可以通过开启`...

    hibernate-release-5.2.2.Final.zip

    Hibernate支持HQL(面向对象的查询语言)、Criteria API以及原生SQL查询。HQL类似于SQL,但以对象为导向;Criteria API则是类型安全且更动态的查询方式。 8. 第三方集成: Hibernate可以很好地与Spring框架集成,...

    Hibernate-HQL-查询-Query资料

    - 可以使用`new`关键字创建查询结果的新对象实例,进行构造查询。 3. **HQL查询类型** - **选择查询**:从一个或多个实体类中检索对象。 - **聚合查询**:使用函数如COUNT、AVG、MAX、MIN、SUM进行统计计算。 -...

    hibernate 查询?Hibernate的HQL查询

    【描述】:在ORM框架Hibernate中,数据查询和检索是一个核心功能,它提供了多种查询方式,包括标准化对象查询(Criteria Query)、Hibernate查询语言(HQL)和原生SQL查询。其中,HQL作为官方推荐的查询方式,具有...

    Hibernate原理与配置快速入门.rar

    Hibernate是Java世界中解决数据库操作问题的重要工具,它通过提供一种抽象层,使得开发人员可以使用面向对象的方式来处理数据库交互,从而减少了SQL的直接使用。 一、Hibernate概述 Hibernate是一个开源的Java库,...

    Hibernate3.2官方中文参考手册.pdf

    通过Hibernate,开发人员可以轻松地在面向对象的Java模型与关系型数据库之间建立映射,从而简化了数据持久化的操作。 ### Hibernate 3.2新特性及改进 #### 版本信息 - **版本号**:3.2 - **发布日期**:虽然具体...

    hibernate-annotations-3.4.0.GA+hibernate-distribution-3.3.2.GA-dist

    而Hibernate Annotations则是Hibernate框架的重要组成部分,它使得我们可以在实体类上直接使用注解进行对象关系映射,避免了XML配置文件的繁琐。本文将深入探讨Hibernate 3.3.2和Hibernate Annotations 3.4.0的核心...

    hql语句 使用大全

    HQL(Hibernate Query Language)是一种面向对象的查询语言,它提供了灵活而强大的数据检索方式,使开发人员能够更高效地与数据库交互。本文将详细介绍HQL的基本用法及高级特性。 #### 1. 查询所有记录(Select) ...

    hibernate hql语句 投影查询的三种方式.docx

    在Hibernate框架中,HQL(Hibernate Query Language)是用于操作对象关系映射的查询语言,类似于SQL,但它是面向对象的。本篇文章将详细介绍在Hibernate中进行投影查询的三种主要方式:直接查询、查询返回对象以及...

    Hibernate HQL教程

    ### Hibernate HQL 教程知识点总结 #### 1.1 HQL基础 ##### 1.1.1 默认数据库表和数据 - **介绍**: 本文档以`joblog`数据库为例,该数据库包含三个表:`student`(学生表)、`course`(课程表)和`sc`(选课表)。 - **...

Global site tag (gtag.js) - Google Analytics