panda

          IT高薪不是夢!!

          統計

          留言簿

          閱讀排行榜

          評論排行榜

          Hibernate的多對一關聯映射

          1.關聯映射的本質:就是將關聯關系映射到數據庫中,關聯關系指對象模型中的一個或多個引用.

          2.下面列舉多對一的示例:用戶和組(多個用戶屬于一個組)多對一關聯映射是最常用的一種關聯映射

          ?? *User 類
          ???package com.lzy
          ?? public class User{

          ?? private int id;
          ?? private String name;

          ? private Group group;//持有組的引用
          ???
          ?? public User(){};

          ?? //省略set,get方法
          ?}


          ? *Group類
          ?package com.lzy
          ?public class Group{
          ??
          ?? private int id;

          ?? private String name;
          ?? //省略get,set方法
          ?}

          3.對對象進行關系映射,這也是Hibernate中比較難的一點。
          ? (1)User.hbm.xml
          ??????
          ??????<?xml version="1.0">
          ??????<!DOCTYPE?hibernate-mapping PUBLIC? "-//Hibernate/Hibernate Mapping DTD 3.0//EN" http://hibernate.sourceforge.net/hibernate-mapping-3.0
          .dtd">
          ?? ? <hibernate-mapping package="com.lzy">
          ?????????<class name="User" table="t_user">
          ???????????????<id name="id" column="id">
          ?????????????????????<genarator class="native"/>
          ????????????? </id>
          ????????????<property name="name" column="user_name" not-null="true"/>
          ????????????<many-to-one name="group" column="groupid"/>
          ??????? </calss>
          ???? </hibernate-mapping>


          ?? (2)Group.hbm.xml
          ?????????
          ??????<?xml version="1.0">
          ??????<!DOCTYPE?hibernate-mapping PUBLIC? "-//Hibernate/Hibernate Mapping DTD 3.0//EN" http://hibernate.sourceforge.net/hibernate-mapping-3.0
          .dtd">
          ?? ? <hibernate-mapping package="com.lzy">
          ?????????<class name="Group" table="t_group">
          ???????????????<id name="id" column="id">
          ?????????????????????<genarator class="native"/>
          ????????????? </id>
          ????????????<property name="name" column="group_name" not-null="true"/>
          ??????</class>
          ???</hibernate-mapping>

          4.測試

          public class? Test {
          ???
          ? public static void main(String args[]){

          ??????SessionFactory? sessionFactory=null;
          ????? Session? session=null;
          ????? Transaction?? transaction=null;
          ??????
          ??????sessionFactory = HibernateUtil.getSessionFactory();// 創建一個會話工廠
          ????? session = sessionFactory.openSession();// 創建一個會話實例
          ????? transaction = session.beginTransaction();// 申明一個事務

          ??User user= new User();
          ??Group?group = new Group();

          ??user.setName("龍一");

          ??group.setName("中南大學");
          ? user.setGroup(group);

          ??try {

          ???transaction.begin();
          ???session.save(user);
          ???transaction.commit();

          ??} catch (Exception e) {
          ???e.printStackTrace();
          ??}


          ?? }
          }

          posted on 2009-10-12 17:56 IT追求者 閱讀(1423) 評論(2)  編輯  收藏 所屬分類: hibernate

          評論

          # re: Hibernate的多對一關聯映射 2009-10-14 17:42 夢芭莎女性內衣

          路過踩踩!!  回復  更多評論   

          # re: Hibernate的多對一關聯映射[未登錄] 2009-11-15 19:21 欣欣

          樓主寫的不錯,頂  回復  更多評論   


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


          網站導航:
           
          主站蜘蛛池模板: 邓州市| 大埔区| 涡阳县| 东兴市| 锦屏县| 凤山县| 浦东新区| 舟曲县| 出国| 新河县| 新巴尔虎右旗| 泰和县| 吉林市| 南雄市| 万源市| 长汀县| 葫芦岛市| 杨浦区| 临城县| 宕昌县| 隆昌县| 亳州市| 泽库县| 平远县| 密山市| 宕昌县| 广丰县| 宝坻区| 胶州市| 长顺县| 安平县| 仙游县| 盐源县| 城固县| 吉林省| 海安县| 临沂市| 临朐县| 含山县| 牡丹江市| 大余县|