<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 和風細雨 閱讀(279) 評論(0)  編輯  收藏 所屬分類: Hibernate

    主站蜘蛛池模板: 人人公开免费超级碰碰碰视频| 亚洲色成人四虎在线观看| 一级人做人爰a全过程免费视频| 性感美女视频免费网站午夜 | 在线视频观看免费视频18| 亚洲欧洲日产国产综合网| 久久大香香蕉国产免费网站| 久久精品国产96精品亚洲| 99精品国产成人a∨免费看| 亚洲网址在线观看| 国产免费AV片在线播放唯爱网| 亚洲av无码一区二区三区天堂古代| 无码少妇一区二区浪潮免费| 亚洲男同gay片| 亚洲免费一区二区| 日韩免费的视频在线观看香蕉| 亚洲欧洲国产视频| 思思99re66在线精品免费观看| 在线精品自拍亚洲第一区| 国产精品亚洲不卡一区二区三区| 日本免费A级毛一片| 亚洲美女自拍视频| 思思99re66在线精品免费观看| 日本一区二区在线免费观看| 亚洲日韩精品一区二区三区 | 久草视频免费在线| 亚洲av无码专区在线观看下载| 亚洲麻豆精品国偷自产在线91| a级在线观看免费| 亚洲二区在线视频| 四虎在线播放免费永久视频| 中国一级毛片免费看视频| 亚洲综合久久成人69| 国产成人在线免费观看| 人人玩人人添人人澡免费| 亚洲人成77777在线播放网站不卡| 成人亚洲网站www在线观看| 久久精品免费电影| 美女视频黄频a免费| 亚洲精品资源在线| ZZIJZZIJ亚洲日本少妇JIZJIZ|