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

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

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

    內(nèi)蒙古java團(tuán)隊(duì)

    j2se,j2ee開發(fā)組
    posts - 139, comments - 212, trackbacks - 0, articles - 65
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    二.雙向一對(duì)一關(guān)聯(lián)
    需要對(duì)TGroup.java和TGroup.hbm.xml文件作修改

    1.在TGroup.java中增加一個(gè)TUser類和相應(yīng)的getter、setter方法
    TGroup.java
    package?cn.blogjava.start;

    import?java.io.Serializable;

    public?class?TGroup?implements?Serializable?{
    ????
    ????private?Integer?id;
    ????private?String?name;
    ????private?TUser?user;
    ????
    ????public?TUser?getUser()?{
    ????????return?user;
    ????}
    ????public?void?setUser(TUser?user)?{
    ????????this.user?=?user;
    ????}

    ????public?Integer?getId()?{
    ????????return?id;
    ????}
    ????public?void?setId(Integer?id)?{
    ????????this.id?=?id;
    ????}
    ????public?String?getName()?{
    ????????return?name;
    ????}
    ????public?void?setName(String?name)?{
    ????????this.name?=?name;
    ????}
    ????
    }

    2.在TGroup.hbm.xml中增加one-to-one配置
    <?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>
    ????
    <class?name="cn.blogjava.start.TGroup"?table="T_Group"?catalog="sample">
    ????????
    <id?name="id"?type="integer">
    ????????????
    <column?name="id"?/>
    ????????????
    <generator?class="native"?/>
    ????????
    </id>
    ????????
    <property?name="name"?type="string"?column="name"?/>
    ????????
    <one-to-one?
    ?????????????????????
    name="user"

    ?????????????????????class
    ="cn.blogjava.start.TUser"
    ?????????????????????property-ref
    ="group"
    ?????????????????????
    />
    ????
    </class>
    </hibernate-mapping>
    </DIV>
    這樣就實(shí)現(xiàn)了雙向關(guān)聯(lián)。可以實(shí)現(xiàn)雙向查詢
    package?cn.blogjava.start;

    import?java.util.List;

    import?junit.framework.Assert;
    import?junit.framework.TestCase;

    import?org.hibernate.HibernateException;
    import?org.hibernate.Session;
    import?org.hibernate.SessionFactory;
    import?org.hibernate.Transaction;
    import?org.hibernate.cfg.Configuration;


    public?class?HibernateTest?extends?TestCase?{
    ????
    ????Session?session?
    =?null;

    ????
    protected?void?setUp()?{
    ????????
    try?{
    ????????????Configuration?config?
    =?new?Configuration().configure();
    ????????????SessionFactory?sessionFactory?
    =?config.buildSessionFactory();
    ????????????session?
    =?sessionFactory.openSession();
    ????????????
    ????????}?
    catch?(HibernateException?e)?{
    ????????????e.printStackTrace();
    ????????}????????
    ????}

    ????
    protected?void?tearDown()?{
    ????????
    try?{
    ????????????session.close();????????
    ????????}?
    catch?(HibernateException?e)?{
    ????????????e.printStackTrace();
    ????????}????????
    ????}????
    ????
    ????
    /**
    ?????*?對(duì)象持久化測(cè)試(Insert方法)
    ?????
    */????????
    ????
    public?void?testInsert()?{
    ????????Transaction?tran?
    =?null;
    ????????
    try?{
    ????????
    ????????????TUser?user?
    =?new?TUser();
    ????????????user.setName(
    "byf");
    ????????????user.setAge(
    new?Integer(26));
    ????????????
    ????????????TGroup?group?
    =?new?TGroup();
    ????????????group.setName(
    "Admin");
    ????????????
    ??????????????????????
    ????????????tran?
    =?session.beginTransaction();????????????????????
    ????????????
    //設(shè)置關(guān)聯(lián)
    ????????????user.setGroup(group);

    ????????????session.save(user);
    ????????????session.flush();
    ????????????tran.commit();
    ????????????Assert.assertEquals(user.getId().intValue()
    >0?,true);
    ????????}?
    catch?(HibernateException?e)?{
    ????????????e.printStackTrace();
    ????????????Assert.fail(e.getMessage());
    ????????????
    if(tran?!=?null)?{
    ????????????????
    try?{
    ????????????????????tran.rollback();
    ????????????????}?
    catch?(Exception?e1)?{
    ????????????????????e1.printStackTrace();
    ????????????????}
    ????????????}
    ????????}
    ????}
    ????
    ????
    /**
    ?????*?對(duì)象讀取測(cè)試(Select方法)
    ?????
    */????????????
    ????
    public?void
    ?testSelect(){
    ????????String?hql?
    =?"?from?TUser?where?name='byf'"
    ;
    ????????String?hql2?
    =?"?from?TGroup?where?name='admin'"
    ;
    ????????
    try
    ?{
    ????????????List?userList?
    =
    ?session.createQuery(hql).list();
    ????????????TUser?user?
    =?(TUser)userList.get(0
    );
    ????????????System.out.println(
    "user?name?is?"?+
    ?user.getName());
    ????????????System.out.println(
    "user?group?is?"?+
    ?user.getGroup().getName());
    ????????????Assert.assertEquals(user.getName(),?
    "byf"
    );
    ????????????
    ????????????List?groupList?
    =
    ?session.createQuery(hql2).list();
    ????????????TGroup?group?
    =?(TGroup)groupList.get(0
    );
    ????????????System.out.println(
    "group?name?is?"?+
    ?group.getName());
    ????????????System.out.println(
    "group?user?is?"?+
    ?group.getUser().getName());
    ????????????Assert.assertEquals(group.getUser().getName(),?
    "byf"
    );????????????
    ????????}?
    catch
    ?(Exception?e)?{
    ????????????e.printStackTrace();
    ????????????Assert.fail(e.getMessage());
    ????????}
    ????}

    }

    評(píng)論

    # re: 雙向一對(duì)一關(guān)聯(lián)  回復(fù)  更多評(píng)論   

    2007-12-14 14:45 by dfgsdfg
    這好像是單向一對(duì)一關(guān)聯(lián)吧 !
    主站蜘蛛池模板: 免费精品99久久国产综合精品| 国产免费内射又粗又爽密桃视频| 蜜桃成人无码区免费视频网站| 国产亚洲精品福利在线无卡一| 一级一级一级毛片免费毛片| 亚洲国产精品成人久久蜜臀 | 久久久久久a亚洲欧洲aⅴ| WWW免费视频在线观看播放| 怡红院亚洲怡红院首页| 成人妇女免费播放久久久| 国产AV无码专区亚洲AV男同| 国产成人精品一区二区三区免费| 亚洲AV无码一区二区二三区入口| 国产成人精品免费久久久久| 亚洲网站在线播放| 成人黄软件网18免费下载成人黄18免费视频| 亚洲一区二区三区亚瑟| 免费黄色大片网站| 一区二区视频免费观看| 久久精品国产精品亚洲精品| 国产成人yy免费视频| 亚洲丶国产丶欧美一区二区三区| 免费一级毛片女人图片| 在线观看免费黄色网址| 亚洲欧洲精品久久| 免费看的黄色大片| 巨胸喷奶水www永久免费 | 国产91久久久久久久免费| 男女啪啪免费体验区| 久久夜色精品国产亚洲AV动态图 | 亚洲熟女综合一区二区三区| 免费国产成人高清视频网站 | 最近中文字幕免费mv视频7| 色九月亚洲综合网| 久久亚洲精品成人777大小说| 99久久99久久精品免费看蜜桃 | a级成人毛片免费图片| 亚洲国产精品久久丫| 一级毛片直播亚洲| 777成影片免费观看| 美女视频免费看一区二区|