@Query自定义查询语句

Darrenboy 2017-08-09 03:28:02
@Query("SELECT new com.jw.model.NoSendData(t0.productCode,t0.productName,t0.color,t0.size,t0.sku,t3.DDSUM,t2.THSUM,t1.KCSUN) FROM(select productCode,productName,color,size,sku FROM ProColSize) t0 LEFT JOIN (select r.sku,SUM(r.repositoryCount) as KCSUN FROM RepositorySku r where r.type=1 GROUP BY r.sku) t1 ON t0.sku=t1.sku LEFT JOIN (SELECT pbp.sku,SUM(pbp.count) as THSUM from PickBill pb LEFT JOIN PickBillProduct pbp ON pb.id=pbp.id WHERE pb.status =0 GROUP BY pbp.sku) t2 ON t0.sku= t2.sku LEFT JOIN(SELECT op.sku, SUM(op.count) AS DDSUM FROM Order o LEFT JOIN OrderProduct op ON o.id=op.id where o.status in (0,4) AND o.receiver='JW' GROUP BY op.sku) t3 ON t0.sku = t3.sku ORDER by t0.sku;")
List<NoSendData> findAll();


实体类
package com.jw.model;

import javax.persistence.*;

/**
* Created by Administrator on 2017\8\7 0007.
*/
@Entity
@Table(name = "t_nosend_data",catalog = "jw_system")
public class NoSendData {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name="product_code")
private String productCode;
@Column(name="product_name")
private String productName;
@Column(name="color")
private String color;
@Column(name="size")
private String size;
@Column(name="sku")
private String sku;
@Column(name="DDSUM")
private Integer DDSUM;
@Column(name="THSUM")
private Integer THSUM;
@Column(name="KCSUN")
private Integer KCSUN;

public NoSendData(String productCode, String productName, String color, String size, String sku, Integer DDSUM, Integer THSUM, Integer KCSUN) {
this.productCode = productCode;
this.productName = productName;
this.color = color;
this.size = size;
this.sku = sku;
this.DDSUM = DDSUM;
this.THSUM = THSUM;
this.KCSUN = KCSUN;
}

public NoSendData() {
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getProductCode() {
return productCode;
}

public void setProductCode(String productCode) {
this.productCode = productCode;
}

public String getProductName() {
return productName;
}

public void setProductName(String productName) {
this.productName = productName;
}

public String getColor() {
return color;
}

public void setColor(String color) {
this.color = color;
}

public String getSize() {
return size;
}

public void setSize(String size) {
this.size = size;
}

public String getSku() {
return sku;
}

public void setSku(String sku) {
this.sku = sku;
}

public Integer getDDSUM() {
return DDSUM;
}

public void setDDSUM(Integer DDSUM) {
this.DDSUM = DDSUM;
}

public Integer getTHSUM() {
return THSUM;
}

public void setTHSUM(Integer THSUM) {
this.THSUM = THSUM;
}

public Integer getKCSUN() {
return KCSUN;
}

public void setKCSUN(Integer KCSUN) {
this.KCSUN = KCSUN;
}
}

运行的时候报如下错误,觉得是查询语句出错,想请教大神给指点一下,要是查询语句错误,该怎么写啊

[code=text]
antlr.NoViableAltException: unexpected token: (

at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:506) [spring-boot-maven-plugin-1.4.2.RELEASE.jar:1.4.2.RELEASE]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
2017-08-09 15:15:50.935 ERROR 3356 --- [ main] o.h.hql.internal.ast.ErrorCounter : line 1:165: unexpected token: sku
2017-08-09 15:15:50.935 ERROR 3356 --- [ main] o.h.hql.internal.ast.ErrorCounter : line 1:165: unexpected token: sku
antlr.NoViableAltException: unexpected token: sku
at org.hibernate.hql.internal.antlr.HqlBaseParser.fromRange(HqlBaseParser.java:1501) [hibernate-core-5.0.11.Final.jar:5.0.11.
...全文
1032 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Darrenboy 2017-08-09
  • 打赏
  • 举报
回复
有大神在吗?求指教啊

241

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧