真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用Hibernate處理沒(méi)有主鍵的視圖

這篇文章主要介紹“怎么用Hibernate處理沒(méi)有主鍵的視圖”,在日常操作中,相信很多人在怎么用Hibernate處理沒(méi)有主鍵的視圖問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么用Hibernate處理沒(méi)有主鍵的視圖”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來(lái),先為翔安等服務(wù)建站,翔安等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為翔安企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

  1. 視圖的詳情

SELECT TEST_FLIGHT_TIME AS TESTTIME,JIHAO AS JIHAO,'1' AS TYPE,FP_ID,REF_ID FROM S_FLIGHT_PLAN -- 1:主機(jī)檢查時(shí)間

UNION

SELECT INSPECT_TIME AS TESTTIME,JIHAO AS JIHAO,'2' AS TYPE,FP_ID,REF_ID FROM S_FLIGHT_PLAN -- 2:主機(jī)試飛時(shí)間

UNION

SELECT TEST_FLIGHT_TIME1 AS TESTTIME,STANDBY_PLANE AS JIHAO,'3' AS TYPE,FP_ID,REF_ID FROM S_FLIGHT_PLAN -- 3:備份機(jī)檢查時(shí)間

UNION

SELECT INSPECT_TIME1 AS TESTTIME,STANDBY_PLANE AS JIHAO,'4' AS TYPE,FP_ID,REF_ID FROM S_FLIGHT_PLAN -- 4:備份機(jī)試飛時(shí)間 -- 試飛時(shí)間,試飛機(jī)號(hào),試飛類(lèi)型,飛行任務(wù)id,派遣任務(wù)id

a) 本視圖中使用了TSETTIME,JIHAO,TYPE,FP_ID,REF_ID五個(gè)字段,由于每個(gè)字段都不是唯一的,所以沒(méi)有主鍵

  1. 由于hibernate處理所有數(shù)據(jù),基本都是要有主鍵的,所以在按創(chuàng)建實(shí)體類(lèi)的時(shí)候,會(huì)有麻煩,有了下邊的解決方法.

  2. 新建一個(gè)主鍵類(lèi),用幾個(gè)屬性作為聯(lián)合主鍵,用@Embeddable注解修飾,將幾個(gè)屬性放入進(jìn)來(lái),寫(xiě)入get,set方法,并且重寫(xiě)equals()和hashCode()方法.

@Embeddable 
public class VTestFlightKey implements Serializable { 

private static final long serialVersionUID = 1L;

private Date TESTTIME;

/**

JIHAO 機(jī)號(hào) / 
private String JIHAO; 
/*
TYPE */ 

private String TYPE; 

/*
FP_ID 飛行計(jì)劃id */

private String FP_ID;
private String REF_ID;

public String getREF_ID() {
	return REF_ID;
}


public void setREF_ID(String rEF_ID) {
	REF_ID = rEF_ID;
}


public String getFpid() {
	return FP_ID;
}


public void setFpid(String fpid) {
	this.FP_ID = fpid;
}


public Date getTestTime(){
	return TESTTIME;
}


public void setTestTime(Date testTime){
	this.TESTTIME=testTime;
}

public String getJihao(){
   return JIHAO;
}	

public void setJihao(String jihao){
	this.JIHAO=jihao;
}

public String getType(){
	return TYPE;
}


public void setType(String type){
	this.TYPE=type;
}
@Override  
public int hashCode() {  
  return this.TESTTIME.hashCode();
}

@Override
public boolean equals(Object o) {
  if(o instanceof VTestFlightKey){
     VTestFlightKey key = (VTestFlightKey)o ;
     if(this.TESTTIME.equals(key.getTestTime()) && this.JIHAO.equals(key.getJihao()) && 
      this.TYPE.equals(key.getType()) && this.FP_ID.equals(key.getFpid()) && 
      this.REF_ID.equals(key.getREF_ID())){
        return true ;
    }
  }
  return false ;
 }
}

將主鍵類(lèi),作為主類(lèi)的ID屬性,并用@Id注解修飾,且主鍵類(lèi)中已經(jīng)用來(lái)做聯(lián)合主鍵的屬性,不再寫(xiě)在主類(lèi)中,

@Entity 

@Table(name="V_TEST_FLIGHT") 

public class VTestFlight{ 

    private static final long serialVersionUID = 1L; //由于所有字段用用來(lái)做聯(lián)合主鍵,所以字段都在主鍵類(lèi)VTestFlightKey 

    @Id 

    private VTestFlightKey vTestFlightKey; 

    public VTestFlightKey getvTestFlightKey() { 

            return vTestFlightKey; 

    }

    public void setvTestFlightKey(VTestFlightKey vTestFlightKey) {

         this.vTestFlightKey = vTestFlightKey; 

    }

}

到此,關(guān)于“怎么用Hibernate處理沒(méi)有主鍵的視圖”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


新聞標(biāo)題:怎么用Hibernate處理沒(méi)有主鍵的視圖
路徑分享:http://weahome.cn/article/ggcppd.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部