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 所有数据则会报错。