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

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

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

    甜咖啡

    我的IT空間

    hibernate關(guān)系映射----多對(duì)一單向關(guān)聯(lián)

    一個(gè)客戶可以對(duì)應(yīng)多個(gè)訂單。

    表結(jié)構(gòu):兩張表使用powerdesiner設(shè)計(jì)生成,產(chǎn)生引用錯(cuò)誤。

    出現(xiàn)問題:1.定義的級(jí)聯(lián)關(guān)系只安一中方式生成,即雙向的所以刪除了parent表的set屬性,同時(shí)刪除映射文件的set集合,

                   2.沒有定義級(jí)聯(lián)關(guān)系cascade屬性

     

    drop table if exists Customer1;

    drop table if exists OrderC1;

    /*==============================================================*/
    /* Table: Customer1                                             */
    /*==============================================================*/
    create table Customer1
    (
       id                   int not null auto_increment,
       name                 varchar(20),
       primary key (id)
    )
    type = InnoDB;

    /*==============================================================*/
    /* Table: OrderC1                                               */
    /*==============================================================*/
    create table OrderC1
    (
       id                   int not null,
       order_id             varchar(20),
       customer_id          int not null,
       primary key (id)
    )
    type = InnoDB;

    alter table OrderC1 add constraint FK_Reference_1111 foreign key (customer_id)
          references Customer1 (id) on delete restrict on update restrict;

    注意:因?yàn)橛型怄I約束,需要事務(wù)支持,在安裝數(shù)據(jù)庫的時(shí)候,需要配置mysql數(shù)據(jù)庫服務(wù)器的參數(shù)。數(shù)據(jù)庫的引擎應(yīng)該用InnoDB

    二、通過myeclipse生成實(shí)體和配置文件:
               

    package many_one;

    @SuppressWarnings("serial")
    public class Customer1  implements java.io.Serializable {
         private Integer id;
         private String name;
        public Customer1() {
        }
        public Customer1(String name ) {
            this.name = name;
        }

        public Integer getId() {
            return this.id;
        }
       
        public void setId(Integer id) {
            this.id = id;
        }

        public String getName() {
            return this.name;
        }
       
        public void setName(String name) {
            this.name = name;
        }
    }

     

    @SuppressWarnings("serial")
    public class Orderc1  implements java.io.Serializable {

         private Integer id;
         private Customer1 customer1;
         private String orderId;

        public Orderc1() {
        }

        public Orderc1(Customer1 customer1) {
            this.customer1 = customer1;
        }
       
        public Orderc1(Customer1 customer1, String orderId) {
            this.customer1 = customer1;
            this.orderId = orderId;
        }
        public Integer getId() {
            return this.id;
        }
       
        public void setId(Integer id) {
            this.id = id;
        }

        public Customer1 getCustomer1() {
            return this.customer1;
        }
       
        public void setCustomer1(Customer1 customer1) {
            this.customer1 = customer1;
        }

        public String getOrderId() {
            return this.orderId;
        }
       
        public void setOrderId(String orderId) {
            this.orderId = orderId;
        }
    }

    配置文件

    Customer1.hbm.xml

    <hibernate-mapping>
        <class name="many_one.Customer1" table="customer1" catalog="test1" >
            <id name="id" type="integer" >
                <column name="id" not-null="false"/>
                <generator class="increment" />
            </id>
            <property name="name" type="string">
                <column name="name" length="20" />
            </property>
        </class>
    </hibernate-mapping>

     

    Orderc1.hbm.xml

    <hibernate-mapping>
        <class name="many_one.Orderc1" table="orderc1" catalog="test1">
            <id name="id" type="integer">
                <column name="id" />
                <generator class="increment" />
            </id>
            <many-to-one name="customer1" class="many_one.Customer1" fetch="select" cascade="save-update">
                <column name="customer_id" not-null="true" />
            </many-to-one>
            <property name="orderId" type="string">
                <column name="order_id" length="20" />
            </property>
        </class>
    </hibernate-mapping>

    package many_one;

    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;

    public class tests {

     /**
      * @param args
      */
     public static void main(String[] args) {

      Configuration cfg = new Configuration().configure();
      SessionFactory sf  =cfg.buildSessionFactory();
      Session session =sf.openSession();
      
      Transaction ts = session.beginTransaction();
      
      Customer1 c = new Customer1("c1");
      Orderc1 o = new Orderc1();
      o.setOrderId("23");
      
      o.setCustomer1(c);
      
      session.save(o);
      
      ts.commit();
     
     }


    }

    posted on 2011-03-26 23:37 甜咖啡 閱讀(486) 評(píng)論(0)  編輯  收藏


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


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    <2011年3月>
    272812345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    統(tǒng)計(jì)

    常用鏈接

    留言簿(1)

    我參與的團(tuán)隊(duì)

    隨筆檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产精品一区二区久久hs| 污污视频网站免费观看| 成人午夜免费福利视频| 亚洲嫩草影院在线观看| 最近免费中文字幕视频高清在线看 | 18以下岁毛片在免费播放| 亚洲AV无码久久久久网站蜜桃| 女人18毛片水最多免费观看| 视频一区在线免费观看| 78成人精品电影在线播放日韩精品电影一区亚洲| 在线永久免费的视频草莓| 青青免费在线视频| 亚洲视频一区在线观看| 国产成人免费a在线视频app| 久久精品国产免费一区| 亚洲已满18点击进入在线观看| 亚洲日本va午夜中文字幕久久 | 久久久WWW成人免费精品| 亚洲一级片在线播放| 亚洲久悠悠色悠在线播放| 你懂的网址免费国产| 亚洲毛片不卡av在线播放一区| 四虎国产精品永久免费网址| 亚洲欧美国产国产一区二区三区| ssswww日本免费网站片| 亚洲午夜视频在线观看| 日本媚薬痉挛在线观看免费| 日韩精品极品视频在线观看免费| 国产午夜亚洲精品不卡电影| 亚洲视频免费在线播放| 亚洲精品午夜国产VA久久成人| 四虎免费大片aⅴ入口| 久久aa毛片免费播放嗯啊| 免费人成在线观看播放a| 亚洲免费观看网站| 亚洲阿v天堂在线| 国产v片免费播放| 国产成人精品免费视频网页大全 | 日韩免费一区二区三区| 精品无码无人网站免费视频| 黄色视屏在线免费播放|