瘋狂

          STANDING ON THE SHOULDERS OF GIANTS
          posts - 481, comments - 486, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          hibernate annoation (五 組件)

          Posted on 2009-11-02 14:56 瘋狂 閱讀(271) 評論(0)  編輯  收藏 所屬分類: hibernate

          例如:有三個類 A B C  最終要持久化的類是A 而 B C 都作為組件內在與A  B,C都要使用@Embeddable標注聲明為一個組件

           

          class A 代碼:

           

          Java代碼 復制代碼
          1. @Entry  
          2. public class A{   
          3. private int id;   
          4. private B b;   
          5. private C c;   
          6. ...   
          7.   
          8.   
          9. public B getB(){   
          10.   ...   
          11. }   
          12.   
          13. public C getC(){   
          14.   
          15. ....   
          16. }   
          17.   
          18. }  

           B 包含C

          class B

          Java代碼 復制代碼
          1. @Embeddable  
          2. public  class B{   
          3.    private Stirng bname;   
          4.    private C c;   
          5.    get set....   
          6.  }  

           

           

          class C

          Java代碼 復制代碼
          1. @Embeddable  
          2. public class C{   
          3.   private String cnam2;   
          4.   
          5.    get set....   
          6.   }  

           持久化后 并沒有將C的cnam重復持久化為兩個字段如果需要這樣則需要:

            在A中使用:

           @Enumerated
           @AttributeOverrides(
             {@AttributeOverride(name="bname",column =  @Column(name="cname1") )}
             )

          這樣cname將會再次被顏色為一個字段cnam1

          主站蜘蛛池模板: 加查县| 安图县| 遂平县| 玉田县| 柞水县| 寿阳县| 沐川县| 若羌县| 化德县| 安阳市| 越西县| 罗城| 新疆| 建水县| 汽车| 健康| 迁西县| 伊通| 临桂县| 洛宁县| 松原市| 屯留县| 汽车| 耒阳市| 海兴县| 永仁县| 瑞昌市| 喀什市| 黄梅县| 永年县| 大田县| 昭通市| 克山县| 临湘市| 沙田区| 大连市| 北票市| 龙江县| 杨浦区| 婺源县| 淮南市|