溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          雪山飛鵠

          溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

          Husband.java
          package com.one2one.bean;

          import javax.persistence.CascadeType;
          import javax.persistence.Column;
          import javax.persistence.Entity;
          import javax.persistence.GeneratedValue;
          import javax.persistence.GenerationType;
          import javax.persistence.Id;
          import javax.persistence.OneToOne;
          import javax.persistence.Table;

          @Entity
          @Table(name
          ="husband",catalog="Hibernate_One2One_fk")
          public class Husband {
              
              
          private int id;
              
          private String name;
              
          private Wife wife;
              @Id
              @Column(name
          ="id")
              @GeneratedValue(strategy
          =GenerationType.AUTO)
              
          public int getId() {
                  
          return id;
              }
              
          public void setId(int id) {
                  
          this.id = id;
              }
              @Column(name
          ="name")
              
          public String getName() {
                  
          return name;
              }
              
          public void setName(String name) {
                  
          this.name = name;
              }
              @OneToOne(cascade
          =CascadeType.ALL,mappedBy="husband")
              
          public Wife getWife() {
                  
          return wife;
              }
              
          public void setWife(Wife wife) {
                  
          this.wife = wife;
              }
              
          }
          Wife.java
          package com.one2one.bean;

          import javax.persistence.CascadeType;
          import javax.persistence.Column;
          import javax.persistence.Entity;
          import javax.persistence.GeneratedValue;
          import javax.persistence.GenerationType;
          import javax.persistence.Id;
          import javax.persistence.JoinColumn;
          import javax.persistence.OneToOne;
          import javax.persistence.Table;

          @Entity
          @Table(name
          ="wife",catalog="Hibernate_One2One_fk")
          public class Wife {
              
              
          private int id;
              
          private String name;
              
          private Husband husband;
              @Id
              @Column(name
          ="id")
              @GeneratedValue(strategy
          =GenerationType.AUTO)
              
          public int getId() {
                  
          return id;
              }
              
          public void setId(int id) {
                  
          this.id = id;
              }
              @Column(name
          ="name")
              
          public String getName() {
                  
          return name;
              }
              
          public void setName(String name) {
                  
          this.name = name;
              }
              @OneToOne(cascade
          =CascadeType.ALL)
              @JoinColumn(name
          ="husband_id")
              
          public Husband getHusband() {
                  
          return husband;
              }
              
          public void setHusband(Husband husband) {
                  
          this.husband = husband;
              }
              
          }

          導出的sql
          create table Hibernate_One2One_fk.husband (
                  id 
          integer not null auto_increment,
                  name 
          varchar(255),
                  
          primary key (id)
              )

              
          create table Hibernate_One2One_fk.wife (
                  id 
          integer not null auto_increment,
                  name 
          varchar(255),
                  husband_id 
          integer,
                  
          primary key (id)
              )

              
          alter table Hibernate_One2One_fk.wife 
                  
          add index FK37AF119039AEDD (husband_id), 
                  
          add constraint FK37AF119039AEDD 
                  
          foreign key (husband_id) 
                  
          references Hibernate_One2One_fk.husband (id)

          測試代碼
          @Test
              
          public void save(){
                  Session session
          =HibernateSessionFactory.getSession();
                  Transaction transaction
          =session.beginTransaction();
                  
          try {
                      transaction.begin();
                      Husband husband
          =new Husband();
                      husband.setName(
          "張三");
                      session.save(husband);
                      Wife wife
          =new Wife();
                      wife.setName(
          "如花");
                      wife.setHusband(husband);
                      session.save(wife);
                      transaction.commit();
                  } 
          catch (HibernateException e) {
                      e.printStackTrace();
                  }
              }
              
              @Test
              
          public void select(){
                  Session session
          =HibernateSessionFactory.getSession();
                  Husband husband
          =(Husband) session.get(Husband.class1);
                  System.out.println(husband.getName());
                  System.out.println(husband.getWife().getName());
              }
          posted on 2010-10-18 14:29 雪山飛鵠 閱讀(1455) 評論(0)  編輯  收藏 所屬分類: Hibernate
          主站蜘蛛池模板: 当阳市| 上栗县| 会东县| 临桂县| 东源县| 柳州市| 吉隆县| 陆良县| 塔城市| 娄烦县| 丁青县| 旺苍县| 宁海县| 乌苏市| 鹤峰县| 二连浩特市| 铜鼓县| 霸州市| 宜城市| 肃宁县| 望城县| 鄯善县| 尼玛县| 敦化市| 托克逊县| 卢湾区| 茂名市| 双江| 鄄城县| 绿春县| 康马县| 永年县| 安庆市| 固始县| 上犹县| 鹿邑县| 抚松县| 黄大仙区| 屯昌县| 庆安县| 永平县|