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

    主站蜘蛛池模板: 一个人免费视频在线观看www| 亚洲av无码av在线播放| 国产大片免费天天看| 免费在线看片网站| 在线看亚洲十八禁网站| 永久免费看mv网站入口| 亚洲av中文无码乱人伦在线观看| 成年女人看片免费视频播放器| 亚洲最大的成人网| 日本免费人成视频播放| 精品国产亚洲一区二区三区在线观看| 大陆一级毛片免费视频观看| 激情无码亚洲一区二区三区| 哒哒哒免费视频观看在线www | 成人性生交大片免费看中文| 亚洲日韩中文无码久久| 曰批全过程免费视频在线观看无码 | 亚洲av乱码一区二区三区按摩| 免费高清av一区二区三区| 国产亚洲精品2021自在线| 亚洲精品偷拍视频免费观看| 999zyz**站免费毛片| 99人中文字幕亚洲区| 性感美女视频在线观看免费精品 | 污污视频网站免费观看| 久久精品亚洲乱码伦伦中文| 免费精品久久天干天干| 亚洲欧洲日韩国产| 国产在线19禁免费观看国产| 本道天堂成在人线av无码免费| 亚洲精品私拍国产福利在线| 99久久久国产精品免费无卡顿| 亚洲Av永久无码精品一区二区| 亚洲人成无码网站| 亚洲免费福利在线视频| 成在线人直播免费视频| 亚洲日产2021三区| 亚洲第一网站男人都懂| 久久午夜羞羞影院免费观看| 亚洲av永久无码天堂网| 亚洲久本草在线中文字幕|