原创 Hibernate/JPA 单表一对多关系映射收藏

这里以组织机构为例:

表结构

字段 类型 备注
OrgId NUMBER(10) 主键
OrgName Varchar2(128) 组织机构名称
ParentId NUMBER(10) 父机构ID,外键参考OrgId

实体类:Org

import org.hibernate.Session;

import org.junit.Before;

import org.junit.Test;

import commons.utils.HibernateUtil;

 

public class TestOrg {

    @Before

    private void test1() {

       Session session = HibernateUtil.getCurrentSession();

       session.getTransaction().begin();

       Org o, o1, o2, o11, o12;

       o = new Org("org");

       o.setParentId((Org) session.get(Org.class, new Long(-100)));

       o1 = new Org("-org1");

       o2 = new Org("-org2");

       o11 = new Org("--org11");

       o12 = new Org("--org12");

       o11.setParentId(o1);

       o12.setParentId(o1);

       o1.setParentId(o);

       o2.setParentId(o);

       session.save(o);

       session.save(o1);

       session.save(o2);

       session.save(o11);

       session.save(o12);

       session.getTransaction().commit();

       session.close();

    }

 

    @Test

    private void test2() {

       Session session = HibernateUtil.getCurrentSession();

       session.getTransaction().begin();

       Org o = (Org) session.createQuery("from Org o where o.parentId is null").uniqueResult();

       System.out.println(o.getOrgName() + "-" + o.getOrgId());

       Org o1 = new Org("-org3");

       o1.setParentId(o);

       session.save(o1);

       session.getTransaction().commit();

       session.close();

    }

}

 

发表于 @ 2007年11月04日 13:44:00|评论(loading...)

新一篇: Java Web开发模型新构思——Hibernate/JPA…+Spring+Struts2/DWR…+ExtJS | 旧一篇: Hibernate 一对多关系映射

Csdn Blog version 3.1a
Copyright © 王铁堂