首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate 树状显示

2012-10-08 
hibernate 树状展示实体类package com.eagle.hibernate.modelimport java.util.Dateimport java.util.Se

hibernate 树状展示
实体类

package com.eagle.hibernate.model;import java.util.Date;import java.util.Set;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.tool.hbm2ddl.SchemaExport;import org.junit.AfterClass;import org.junit.BeforeClass;import org.junit.Test;public class HibernateCoreAPI {private static SessionFactory sf;@BeforeClasspublic static void buildSession(){try {new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);sf = new AnnotationConfiguration().configure().buildSessionFactory();} catch (HibernateException e) {// TODO Auto-generated catch blocke.printStackTrace();}}@AfterClasspublic static void closeSession(){sf.close();}@Testpublic void testSchemaExport(){new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);}@Testpublic void testSaveCompany(){Company company = new Company();company.setName("总公司");Company company1 = new Company();company1.setName("子公司1");Company company2 = new Company();company2.setName("子公司2");Company company3 = new Company();company3.setName("子公司3");Company company4 = new Company();company4.setName("子子公司2_1");Company company5 = new Company();company5.setName("子子公司2_2");Company company6 = new Company();company6.setName("子子公司2_3");Company company7 = new Company();company7.setName("子子公司3_1");company.getChildren().add(company1);company.getChildren().add(company2);company.getChildren().add(company3);company1.setParent(company);company2.setParent(company);company3.setParent(company);company2.getChildren().add(company4);company2.getChildren().add(company5);company2.getChildren().add(company6);company4.setParent(company2);company5.setParent(company2);company6.setParent(company2);company3.getChildren().add(company7);company7.setParent(company3);Session s = sf.getCurrentSession();s.beginTransaction();s.save(company);s.getTransaction().commit();}@Testpublic void testLoad(){ testSaveCompany(); Session s = sf.getCurrentSession(); s.beginTransaction(); Company c = (Company)s.get(Company.class, 1); print(c,0); s.getTransaction().commit();}private void print(Company c,int level) {String str = "";for(int i=0;i<level;i++){str += "----";}System.out.println(str + c.getName());for(Company company:c.getChildren()){print(company,level+1);}}}

热点排行