我的查询总共四个表:发票总表IV_Invoice 入库表IV_InInvoice 出库表IV_OutInvoice 交票表IV_Archive,然后对应关系就省略了。。。关系搭建的是没有任何问题的...直接看查询代码
//查询总表IV_InvoiceVo这个类是我查的所有数据封装类
public List<IV_InvoiceVo> findall() {
// TODO Auto-generated method stub
System.out.println("查询总表daoimpl进来了。。。。");
List<IV_InvoiceVo> list=getSession().createQuery("select new com.ssh.entity.IV_InvoiceVo(a.InvoiceType,b.StartNo,b.EndNo,b.Counts AS Sums,c.Counts,(b.Counts-c.Counts)AS Wsum,(SELECT COUNT(*) FROM IV_Invoice WHERE Used=1)AS Used,(SELECT COUNT(*) FROM IV_Invoice WHERE Invalid=1)AS Invalid,(d.counts) AS Archived,(c.Counts-d.counts)AS Wjcount,b.InDate) FROM IV_Invoice AS a inner JOIN IV_INInvoice AS b ON a.InInvoiceID=b.InInvoiceID inner JOIN IV_OutInvoice AS c ON b.InInvoiceID=c.InInvoiceID inner JOIN iv_archive AS d ON d.InInvoiceID=a.InInvoiceID").list();
return list;
}
然后看IV_InvoiceVo类中类型(这个类是我把4张表所查的数据封装在里边了 就是查询语句as 的那些别名那些)
package com.ssh.entity;
import java.util.Date;
public class IV_InvoiceVo {
private int InvoiceType;//发票类型
private String StartNo;//开始号码
private String EndNo;//结束号码
private int Sums;//总张数
private int Counts;//出库数
private int Wsum;//未出数
private int Used;//已用
private int Invalid;//作废
private int Archived;//已交
private int Wjcount;//未交
private Date InDate;//入库时间
//private String EmpName;//入库人
public IV_InvoiceVo()