隨筆 - 25  文章 - 32  trackbacks - 0
          <2008年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          表自連實際上就是one to one的關(guān)系。比如書籍類型。類型有父類型。那父類型如何表示呢。在java中應當這樣寫:
          public class BookType  {
              
          private Long id;
              
          private String name;
              
              
          private BookType parent;
                  
          //getter && setter
          }
          但如果這個是一個JPA類就出問題了。因為parent沒有寫注釋。在jpa自動創(chuàng)建表是會認為這是一個字節(jié)類型的。所以還應該為parent些上一個注釋。既然是自連。應該寫@OneToOne
          這里就要注意了。OneToOne不能寫其他屬性,比如不能這樣寫
          @OneToOne(targetClass=BookType.class)
          這樣的話在系統(tǒng)自動生成數(shù)據(jù)表時會報錯。也不能加 @JoinColumn。唯一的辦法就是只要@OneToOne。其他什么都不寫。這樣就不會報錯了。
          代碼如下:
          public class BookType  {
              
          private Long id;
              
          private String name;
              
              @OneToOne
              
          private BookType parent;
                  
          //getter && setter
          }

          另外:如果想不讓某個屬性不被轉(zhuǎn)換成數(shù)據(jù)庫字段。需要在此屬性的getter方法上加@Transient注釋。比如BookType的fullName屬性。
          例子:
              /**
               * 獲取包括父節(jié)點名稱的全部路徑
               * 
          @return
               
          */
              @Transient
              
          public String getFullName(){
                  StringBuffer buffer
          =new StringBuffer("");
                  
          if(parent!=null){
                      buffer.append(parent.getFullName());
                      buffer.append(
          "-");
                  }
                  buffer.append(name);
                  
          return buffer.toString();
              }
          posted on 2008-11-30 15:34 phyeas 閱讀(659) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 三亚市| 清苑县| 昌邑市| 日土县| 开平市| 卫辉市| 平远县| 尼勒克县| 西林县| 滦平县| 大余县| 盐亭县| 益阳市| 井研县| 桓台县| 伊金霍洛旗| 东兴市| 甘孜县| 龙山县| 巫山县| 菏泽市| 莱阳市| 库尔勒市| 景泰县| 张掖市| 金华市| 清丰县| 海宁市| 西宁市| 辽阳县| 永胜县| 阳朔县| 登封市| 两当县| 保定市| 辉县市| 沙坪坝区| 石林| 扶沟县| 大悟县| 黄平县|