<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://m.tkk7.com/Files/sitinspring/HibernateClasses20071109085612.rar

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

    主站蜘蛛池模板: 亚洲乱码精品久久久久..| 成在人线av无码免费高潮喷水| 免费看男人j放进女人j免费看| 无码专区AAAAAA免费视频| 四虎永久在线精品免费观看地址| 亚洲黄网在线观看| 中文字幕高清免费不卡视频| 在线观看特色大片免费视频 | 久久久久亚洲精品无码系列| 曰批全过程免费视频免费看 | 欧洲精品成人免费视频在线观看| 亚洲男人天堂av| a视频免费在线观看| 亚洲精品国产va在线观看蜜芽| 亚洲a无码综合a国产av中文| 一个人免费观看视频www| 18亚洲男同志videos网站| 日本免费污片中国特一级| 国产成人精品日本亚洲网站| 中国videos性高清免费| 国产国拍亚洲精品福利| 国产精品午夜免费观看网站| 免费一级毛片正在播放| 日本一区二区三区在线视频观看免费| 日韩在线免费视频| 亚洲人成色在线观看| 在线观看免费av网站| 亚洲另类精品xxxx人妖| 无码中文字幕av免费放| 亚洲中文字幕久久精品蜜桃| 日韩精品免费电影| 美女视频黄.免费网址 | 国产亚洲精品AA片在线观看不加载| 无人视频免费观看免费视频| 亚洲伊人久久综合影院| 99精品全国免费观看视频..| 综合亚洲伊人午夜网| 人妻免费一区二区三区最新| 亚洲人成网www| 永久免费av无码不卡在线观看| 亚洲精品无码av中文字幕|