Hibernate 操作视图

第一步创建视图:

CREATE OR REPLACE VIEW ECP_V_PROJECT_COUNT AS
SELECT proj.tenderid as projId,(
       SELECT COUNT(pack.tenderid) FROM ECP_Tender_Project pack WHERE pack.parent_id = proj.tenderid
) subProjectC,(
       SELECT COUNT(apply.applyid) FROM ECP_TENDER_APPLY_REC apply WHERE apply.tenderid = proj.tenderid
) signUpC ,(
       SELECT COUNT(apply1.Applyid) FROM ECP_TENDER_APPLY_REC apply1 WHERE apply1.tenderid = proj.tenderid AND apply1.Auditstatus='01'
)signUpValidC,(
       SELECT COUNT(bid.bid_id) FROM ECP_BID bid WHERE bid.proj_id = proj.tenderid
) bidC,(
       SELECT COUNT(bid1.bid_id) FROM ECP_BID bid1 WHERE bid1.proj_id = proj.tenderid
)bidValidC ,(
       SELECT COUNT(winner.buy_w_id) FROM ECP_BUY_WINNER winner
       LEFT JOIN ECP_BUYRESULT buyResult on buyResult.BUYR_ID = winner.BUYR_ID
       WHERE winner.RESULT_TYPE = '01' AND buyResult.PROJ_ID = proj.tenderid
)winnerC
FROM ECP_Tender_Project proj WHERE proj.parent_id is null;

第二步建立视图对应的实体类:

 

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@org.hibernate.annotations.Entity
@Table(name = "ECP_V_PROJECT_COUNT")
public class ProjectCountView implements GpcBaseObject{
     
    /** serialVersionUID */
    private static final long serialVersionUID = 1L;
 
    @Id
    @Column(name = "projId", length = 36)
    private String objId; //主键
     
    @Column(name = "subProjectC")
    private BigDecimal subProjectC = new BigDecimal("0"); //分包数目
     
    @Column(name = "signUpC")
    private BigDecimal signUpC = new BigDecimal("0");; //参与供应商数目
 
    @Column(name = "signUpValidC")
    private BigDecimal signUpValidC = new BigDecimal("0");; //有效参与供应商数目
     
    @Column(name = "bidC")
    private BigDecimal bidC = new BigDecimal("0");; //参与投标供应商数目
     
    @Column(name = "bidValidC")
    private BigDecimal bidValidC = new BigDecimal("0");; //有效参与投标供应商数目
     
    @Column(name = "winnerC")
    private BigDecimal winnerC = new BigDecimal("0");; //中标供应商数目
 
    public String getObjId() {
        return objId;
    }
 
    public void setObjId(String objId) {
        this.objId = objId;
    }
 
    public BigDecimal getSubProjectC() {
        return this.subProjectC;
    }
 
    public void setSubProjectC(BigDecimal subProjectC) {
        this.subProjectC = subProjectC;
    }
 
    public BigDecimal getSignUpC() {
        return this.signUpC;
    }
 
    public void setSignUpC(BigDecimal signUpC) {
        this.signUpC = signUpC;
    }
 
    public BigDecimal getSignUpValidC() {
        return this.signUpValidC;
    }
 
    public void setSignUpValidC(BigDecimal signUpValidC) {
        this.signUpValidC = signUpValidC;
    }
 
    public BigDecimal getBidC() {
        return this.bidC;
    }
 
    public void setBidC(BigDecimal bidC) {
        this.bidC = bidC;
    }
 
    public BigDecimal getBidValidC() {
        return this.bidValidC;
    }
 
    public void setBidValidC(BigDecimal bidValidC) {
        this.bidValidC = bidValidC;
    }
 
    public BigDecimal getWinnerC() {
        return this.winnerC;
    }
 
    public void setWinnerC(BigDecimal winnerC) {
        this.winnerC = winnerC;
    }
 
    public Date getCreateTime() {
        // TODO Auto-generated method stub
        return null;
    }
 
    public void setCreateTime(Date arg0) {
        // TODO Auto-generated method stub
         
    }
}

1.数据库已经建立视图,hibernate只是把视图当作普通的表来映射。  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值