`

HQL语句 实例化对象查询数据

 
阅读更多

HQL: 连接查询

select

      new com.entity.order.CJTAfterSalesOrder(ts,gt.tid,gt.postDate) From CJTOutGoingTask AS gt,TSalesOrder AS ts    where gt.orderId=ts.salesOrderId

 

其中: TSalesOrder  字段  orderId,b,c   CJTOutGoingTask 字段salesOrderId,tid,postDate

将查询出来的TSalesOrder 对象和CJTOutGoingTask 对象中的部分属性组成一个新的对象CJTAfterSalesOrder  

这里需要创建对象类CJTAfterSalesOrder   并且添加构造函数、get/set方法。如下:

 

public CJTAfterSalesOrder(TSalesOrder salesOrder, String tid,

Date afterSalepostDate) {

super();

this.salesOrder = salesOrder;

this.tid = tid;

this.afterSalepostDate = afterSalepostDate;

}

/**

*/

public CJTAfterSalesOrder() {

super();

}

private TSalesOrder salesOrder;

private Long id;

private Long orderId;

private String tid;

private String afterSalememo;

private Integer status;

private Date afterSalepostDate;

private Date afterSalemodiDate;

private Integer count;

private String type;

public TSalesOrder getSalesOrder() {

return salesOrder;

}

public void setSalesOrder(TSalesOrder salesOrder) {

this.salesOrder = salesOrder;

}

public Long getId() {

return id;

}

public void setId(Long id) {

this.id = id;

}

public Long getOrderId() {

return orderId;

}

public void setOrderId(Long orderId) {

this.orderId = orderId;

}

public String getTid() {

return tid;

}

public void setTid(String tid) {

this.tid = tid;

}

public String getAfterSalememo() {

return afterSalememo;

}

public void setAfterSalememo(String afterSalememo) {

this.afterSalememo = afterSalememo;

}

public Integer getStatus() {

return status;

}

public void setStatus(Integer status) {

this.status = status;

}

public Date getAfterSalepostDate() {

return afterSalepostDate;

}

public void setAfterSalepostDate(Date afterSalepostDate) {

this.afterSalepostDate = afterSalepostDate;

}

public Date getAfterSalemodiDate() {

return afterSalemodiDate;

}

public void setAfterSalemodiDate(Date afterSalemodiDate) {

this.afterSalemodiDate = afterSalemodiDate;

}

public Integer getCount() {

return count;

}

public void setCount(Integer count) {

this.count = count;

}

public String getType() {

return type;

}

public void setType(String type) {

this.type = type;

 

}

 

  最后执行查询:List list=this.getBaseHibernateService().query(hql);

获取查询的结果集。  注: 别名必须添加 AS  不能使用对象.* 即:ts.*或者gt.*  如果查询的两个对象中有相同的字段 如  createDate,modiDate  如果直接From 所有数据则会报错。 

 

 

 

分享到:
评论

相关推荐

    全面解析HQL语句 非常详细直接的HQL语句的功能介绍

    本篇文章将深入探讨HQL(Hibernate Query Language)的核心功能及其在数据查询方面的强大能力。HQL是一种面向对象的查询语言,用于在Hibernate框架中执行数据检索任务。它允许开发人员以一种接近Java语言的方式进行...

    HQL语句的语法

    HQL语句的语法结构与SQL相似,但更注重对象和类的概念。以下将详细介绍HQL语句的几个关键部分: 1. **from 子句**:这是HQL查询的起点,用于指定要查询的持久化类。例如,`from Person as p`表示从`Person`类中选择...

    HQL语句(结合实例)

    通过以上示例可以看出,HQL不仅提供了灵活的查询方式,还能够很好地与对象模型相结合,使得开发者能够在面向对象的环境下进行高效的数据查询。同时,HQL还支持多种类型的连接查询,包括内连接、左外连接、右外连接...

    常用的hql语句用法解析

    `fetch`连接允许在查询中初始化相关联的对象,例如`from Cat as cat inner join fetch cat.mate`,这在处理集合时特别有用,它可以替代映射文件中的外联接和延迟加载设置。但`fetch`连接不应在使用`scroll()`或`...

    hibernate 中HQL语句查询学习笔记

    ### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...

    hql语句经典教程

    【HQL语句经典教程】 Hibernate Query Language(HQL)是Hibernate...通过熟练掌握HQL,开发者能更高效地操作和查询持久化对象,提高应用程序的性能。在实践中,应根据具体需求选择适当的查询策略,以达到最佳效果。

    强烈建议的HQL语法规则详解

    3. **创建Query对象**:将HQL语句传递给`Session`的`createQuery`方法,返回一个`Query`实例,该实例代表了你的查询。 4. **设置参数**:如果HQL中包含参数,如上面的例子中的`:eventTitle`,可以通过`Query`对象的`...

    hql语句[定义].pdf

    【HQL语句定义】 Hibernate Query Language(HQL)是Hibernate框架中用于查询对象化数据的面向对象的查询语言,它与SQL类似但专门针对对象模型设计。HQL允许开发者以类和对象的术语来编写查询,而不是数据库表和列。...

    hql查询语句

    在IT领域,尤其是在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者使用面向对象...在实际项目中,合理运用HQL能大大简化数据查询和处理的工作,使得代码更加面向对象,易于理解和维护。

    hql精点查询语句.doc

    标题和描述均提到了“HQL精点查询语句”,这明确指向了HQL(Hibernate Query...HQL通过其丰富的语法和功能,极大地简化了对象关系映射中的数据查询过程,使得开发人员能够更加专注于业务逻辑而非底层的数据库交互细节。

    Hibernate实例开发 HQL 与 QBC 查询

    总的来说,HQL更适合于编写结构化的、复杂的查询,而QBC则更适合于基于对象实例的简单查询。在实际开发中,开发者可以根据需求灵活选择适合的查询方式。在学习和实践中,理解并熟练掌握这两者,将极大地提升你的...

    HQL 语句 帮助 还行

    以下是对HQL语句的详细解释: 1. **选择语句**: - `from Person`:这表示从`Person`类中选取所有实例。这里的`Person`是持久化类,代表了数据库中的一个表。 - `as`关键字用于为查询结果的实体创建别名,如`from...

    Hibernate hql查询语法总结

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

    HQL查询pdf资料

    ### HQL查询详解 HQL(Hibernate Query ...综上所述,HQL不仅提供了强大的数据查询能力,而且其面向对象的特性使得数据访问更加直观和高效。对于Java开发者来说,熟练掌握HQL将极大地提升与数据库交互的效率和质量。

    hibernate hql各类查询范例

    以上内容涉及了使用 HQL 和 DetachedCriteria 进行查询、参数化查询、执行更新操作以及简单的统计查询等常见的 Hibernate 操作。这些知识点对于理解和掌握 Hibernate 框架的基本使用至关重要,同时也是开发基于 ...

    HQL语句大全

    ### HQL语句大全知识点详解 #### 一、HQL简介 HQL(Hibernate Query Language)是一种面向对象的查询语言,由Hibernate框架提供。虽然它的语法结构与SQL类似,但HQL是专为面向对象查询设计的,能够很好地处理继承、...

    HQL语法大全,并带有详细的例子

    3. **创建查询对象**:将编写的HQL语句传递给Session的`createQuery`方法来创建一个Query实例。 4. **设置参数**:如果HQL语句中含有参数,则需要通过Query对象的`setXxx`方法为这些参数赋值。 5. **执行查询并遍历...

    hql的增删改查

    HQL(Hibernate Query Language)是Hibernate框架提供的查询语言,它基于对象模型而不是传统的SQL语法,使得开发人员能够更加自然地操作数据库中的对象。本文将详细介绍HQL在进行数据增删改查时的常见用法。 #### ...

    HQL 语法总结 实体查询

    例如,如果我们只想获取用户的名字和年龄,可以使用如下HQL语句: ```java List[]> list = session.createQuery("select user.name, user.age from TUser as user").list(); ``` 此外,我们还可以利用 HQL 动态...

Global site tag (gtag.js) - Google Analytics