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

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

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

    和風細雨

    世上本無難事,心以為難,斯乃真難。茍不存一難之見于心,則運用之術自出。

    類集合包含的Hibernate映射

    類集合包含意味著一個類中的成員變量是另一個類的集合,比如說公司類Company包含成員類Member的集合.

    類圖如下:


    它們分別對應數據庫中的Companys表和Members表,它們的ER圖如下:

    以下代碼演示了如何將類與數據庫映射起來:

    Company類代碼:
    package com.sitinspring.companymember;

    import java.util.HashSet;
    import java.util.Set;

    public class Company{
        
    private long id;
        
    private String name;
        
    private Set<Member> members = new HashSet<Member>();    
        
        
    public Company(){
        }

        
        
    public Company(long id,String name){
            
    this.id=id;
            
    this.name=name;
        }

        
        
    public void add(Member member){
            member.setCid(id);
            members.add(member);
        }

        
        
    public String toString(){
            String retval
    ="Company id="+id+" name="+name;
            
            
    for(Member member:members){
                retval
    +="\n"+member;
            }

            
            
    return retval;
        }

        
        
    public long getId() {
            
    return id;
        }

        
    public void setId(long id) {
            
    this.id = id;
        }

        
    public String getName() {
            
    return name;
        }

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


        
    public Set<Member> getMembers() {
            
    return members;
        }


        
    public void setMembers(Set<Member> members) {
            
    this.members = members;
        }

    }

    Company.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="org.hibernate.auction">
        
    <class name="com.sitinspring.companymember.Company" table="COMPANYS">
            
    <id name="id" column="ID"/>
            
    <property name="name" column="NAME" />
            
            
    <set name="members" inverse="true" cascade="all" lazy="false">
                
    <key column="CID" />
                
    <one-to-many class="com.sitinspring.companymember.Member" />
            
    </set>
        
    </class>
    </hibernate-mapping>

    Member類代碼:
    package com.sitinspring.companymember;

    public class Member {
        
    private long id;

        
    private long cid;

        
    private String name;

        
    public Member() {
        }

        
        
    public Member(long id, String name) {
            
    this.id = id;
            
    this.name = name;
        }

        
        
    public String toString(){
            
    return "Member id="+id+" cid="+cid+" name="+name;
        }


        
    public long getId() {
            
    return id;
        }


        
    public void setId(long id) {
            
    this.id = id;
        }


        
    public String getName() {
            
    return name;
        }


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


        
    public long getCid() {
            
    return cid;
        }


        
    public void setCid(long cid) {
            
    this.cid = cid;
        }

    }

    Member.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="org.hibernate.auction">
        
    <class name="com.sitinspring.companymember.Member" table="MEMBERS">
            
    <id name="id" column="ID"/>
            
    <property name="cid" column="CID" />
            
    <property name="name" column="NAME" />
        
    </class>
    </hibernate-mapping>

    測試代碼如下:
    package com.sitinspring.companymember;

    import org.hibernate.Session;

    import com.sitinspring.util.HibernateUtil;

    public class Main {
        
    public static void main(String[] args) {
            Session session 
    = HibernateUtil.getSessionFactory().getCurrentSession();
            session.beginTransaction();

            
    // --插入代碼開始
            Company citi = new Company(1"Citi");
            citi.add(
    new Member(10"Andy"));
            citi.add(
    new Member(11"Bill"));
            session.save(citi);

            Company google 
    = new Company(2"google");
            google.add(
    new Member(20"Cindy"));
            google.add(
    new Member(21"Dennis"));
            session.save(google);

            session.flush();

            Company company 
    = (Company) session.load(Company.class, citi.getId());
            company 
    = (Company) session.load(Company.class, google.getId());
            
    // --插入代碼結束

            
    // --讀取代碼開始
            long i = 1;

            Company companyLoaded 
    = (Company) session.load(Company.class, i);
            System.out.println(companyLoaded);
            i 
    = 2;
            companyLoaded 
    = (Company) session.load(Company.class, i);
            System.out.println(companyLoaded);
            
    // --讀取代碼開始

            session.getTransaction().commit();
            HibernateUtil.getSessionFactory().close();
        }

    }

    測試結果:




    代碼下載:
    http://www.tkk7.com/Files/sitinspring/HibernateClasses20071109085612.rar

    posted on 2008-02-22 11:24 和風細雨 閱讀(278) 評論(0)  編輯  收藏 所屬分類: Hibernate

    主站蜘蛛池模板: 中文字幕亚洲第一| 亚洲日本中文字幕一区二区三区 | 亚洲AⅤ视频一区二区三区| 日本高清色本免费现在观看| 国产精品免费一级在线观看| 亚洲最大AV网站在线观看| 久久亚洲伊人中字综合精品| 亚洲欧洲国产成人精品| 亚洲第一成年免费网站| 精品国产污污免费网站入口| 5555在线播放免费播放| 日本免费人成视频播放| 看免费毛片天天看| 免费一级毛片一级毛片aa| 免费观看激色视频网站(性色) | 夜夜爽妓女8888视频免费观看| 国产免费人成视频尤勿视频| 国产成人99久久亚洲综合精品 | 四虎最新永久免费视频| 亚洲人成在线播放| 三年在线观看免费观看完整版中文| 日本阿v免费费视频完整版| 亚洲AV无码一区二区三区在线观看 | 99久久婷婷国产综合亚洲| 一级做a爱过程免费视| 永久免费av无码不卡在线观看| 自拍偷自拍亚洲精品第1页| 18禁超污无遮挡无码免费网站| 国产乱色精品成人免费视频| 色偷偷亚洲女人天堂观看欧| 日韩在线看片免费人成视频播放| 免费精品国产自产拍在线观看 | 亚洲高清无码综合性爱视频| 两个人日本WWW免费版| 亚洲美女视频一区| 久久精品成人免费看| 亚洲福利精品电影在线观看| 一个人看的www在线免费视频 | 日韩a毛片免费观看| 久久亚洲国产精品一区二区| 亚洲AV色欲色欲WWW|