这里以组织机构为例:
表结构
| 字段 |
类型 |
备注 |
| 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...)