<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-126  評論-247  文章-5  trackbacks-0

    假設,一個農場產出多種植物,具體的某一植物產于某一農場。

     1 package net.yeah.fancydeepin.po;
     2 
     3 import java.io.Serializable;
     4 import java.util.Set;
     5 import javax.persistence.CascadeType;
     6 import javax.persistence.Column;
     7 import javax.persistence.Entity;
     8 import javax.persistence.FetchType;
     9 import javax.persistence.GeneratedValue;
    10 import javax.persistence.Id;
    11 import javax.persistence.OneToMany;
    12 /**
    13  * -----------------------------------------
    14  * @描述  農場
    15  * @作者  fancy
    16  * @郵箱  fancydeepin@yeah.net
    17  * @日期  2012-10-21 <p>
    18  * -----------------------------------------
    19  */
    20 @Entity
    21 public class Farm implements Serializable{
    22 
    23     private static final long serialVersionUID = 1L;
    24     
    25     private Integer id;
    26     private String  name;
    27     private Set<Plant> plantSet;
    28     
    29     @Id
    30     @GeneratedValue
    31     public Integer getId() {
    32         return id;
    33     }
    34     @Column(length = 18, nullable = false)
    35     public String getName() {
    36         return name;
    37     }
    38     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "farm")
    39     public Set<Plant> getPlantSet() {
    40         return plantSet;
    41     }
    42     public void setId(Integer id) {
    43         this.id = id;
    44     }
    45     public void setName(String name) {
    46         this.name = name;
    47     }
    48     public void setPlantSet(Set<Plant> plantSet) {
    49         this.plantSet = plantSet;
    50     }
    51 }


     1 package net.yeah.fancydeepin.po;
     2 
     3 import java.io.Serializable;
     4 import javax.persistence.CascadeType;
     5 import javax.persistence.Column;
     6 import javax.persistence.Entity;
     7 import javax.persistence.FetchType;
     8 import javax.persistence.GeneratedValue;
     9 import javax.persistence.Id;
    10 import javax.persistence.ManyToOne;
    11 /**
    12  * -----------------------------------------
    13  * @描述  植物
    14  * @作者  fancy
    15  * @郵箱  fancydeepin@yeah.net
    16  * @日期  2012-10-21 <p>
    17  * -----------------------------------------
    18  */
    19 @Entity
    20 public class Plant implements Serializable{
    21 
    22     private static final long serialVersionUID = 1L;
    23     
    24     private Integer id;
    25     private String   name;
    26     private Farm    farm;
    27     
    28     @Id
    29     @GeneratedValue
    30     public Integer getId() {
    31         return id;
    32     }
    33     @Column(length = 18, nullable = false)
    34     public String getName() {
    35         return name;
    36     }
    37     @ManyToOne(cascade = CascadeType.PERSIST, optional = false, fetch = FetchType.LAZY)
    38     public Farm getFarm() {
    39         return farm;
    40     }
    41     public void setId(Integer id) {
    42         this.id = id;
    43     }
    44     public void setName(String name) {
    45         this.name = name;
    46     }
    47     public void setFarm(Farm farm) {
    48         this.farm = farm;
    49     }
    50 
    51 }

    Junit 測試 :

    1     @Test
    2     public void createTable(){
    3         
    4         new SchemaExport(new AnnotationConfiguration().configure()).create(truetrue);
    5     }

    執行上面的單元測試,數據庫中生成的表的結構圖 :



    級聯保存 :

     1    @BeforeClass
     2     public static void beforeClass(){
     3         
     4         session = new AnnotationConfiguration().configure().buildSessionFactory().getCurrentSession();
     5     }
     6     
     7     @Test
     8     public void insert(){
     9         try {
    10             Farm farm = new Farm();
    11             farm.setName("fancy-farm");
    12             Plant tomato  = new Plant();
    13             tomato.setName("番茄");
    14             tomato.setFarm(farm);
    15             Plant cabbage = new Plant();
    16             cabbage.setName("卷心菜");
    17             cabbage.setFarm(farm);
    18             Set<Plant> plantSet = new HashSet<Plant>();
    19             plantSet.add(tomato);
    20             plantSet.add(cabbage);
    21             farm.setPlantSet(plantSet);
    22             session.beginTransaction();
    23             session.persist(farm);
    24             session.getTransaction().commit();
    25         } catch (Exception e) {
    26             e.printStackTrace();
    27         }
    28     }



      
    posted on 2012-10-21 16:48 fancydeepin 閱讀(3347) 評論(1)  編輯  收藏

    評論:
    # re: hibernate annotation 之 一對多、多對一雙向外鍵關聯 2014-06-18 03:18 |
    相關的jar包呢?  回復  更多評論
      

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲小说区图片区另类春色| 国产一区二区三区免费看 | 男女超爽刺激视频免费播放| 亚洲Av综合色区无码专区桃色| 狠狠躁狠狠爱免费视频无码| 亚洲AV成人潮喷综合网| 欧洲美女大片免费播放器视频| 国产一卡二卡≡卡四卡免费乱码| 国产成人精品久久亚洲高清不卡| 免费看国产精品麻豆| 日韩精品无码免费视频| 伊人久久综在合线亚洲91| 三上悠亚在线观看免费| 亚洲阿v天堂在线| 日韩免费在线视频| 亚洲精品在线免费观看视频| 18禁网站免费无遮挡无码中文| 亚洲一区二区三区亚瑟| 日韩在线免费电影| www.av在线免费观看| 亚洲成色www久久网站夜月| 2021国内精品久久久久精免费| 亚洲va在线va天堂va手机| 欧洲精品免费一区二区三区| 边摸边吃奶边做爽免费视频网站 | 91麻豆国产免费观看| 亚洲av无码久久忘忧草| 国产无遮挡又黄又爽免费视频| 一区二区免费国产在线观看| 亚洲av日韩av无码| 性色av无码免费一区二区三区| 国产成人亚洲精品电影| 亚洲av永久无码制服河南实里| 99久久精品日本一区二区免费| 人人狠狠综合久久亚洲| 久久久久亚洲av毛片大| 欧洲一级毛片免费| 日本视频免费观看| 91嫩草私人成人亚洲影院| 国产一级高清视频免费看| 久久国产精品免费专区|