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

          雪山飛鵠

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

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            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;
              }
              
          }

          導(dǎo)出的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
          主站蜘蛛池模板: 宁武县| 大方县| 黄石市| 高阳县| 闽清县| 泾川县| 鄄城县| 蒲江县| 康马县| 淳化县| 英超| 墨玉县| 青河县| 红桥区| 扶风县| 红原县| 东山县| 淮北市| 宣武区| 娄底市| 上饶市| 板桥市| 阳江市| 多伦县| 阳山县| 清河县| 民权县| 论坛| 竹溪县| 永平县| 东乌珠穆沁旗| 沁源县| 建宁县| 堆龙德庆县| 休宁县| 福清市| 凤阳县| 吉安市| 宿松县| 葫芦岛市| 涞水县|