hibernate3.3.2学习笔记---将一棵树存进数据库

来源:互联网 发布:知之阅读 pdf 编辑:程序博客网 时间:2024/06/10 17:04

总公司下有多个分公司,一个分公司上只有一个管理自己自己的总公司(除了总公司)。

即构成树形结构,可以将其存进数据库中,只构建一张表。


Org.java

@Entitypublic class Org{private Org parent;private String name;private Set<Org>children=new HashSet<Org>();private int id;@OneToMany(cascade=CascadeType.ALL, mappedBy="parent")public Set<Org> getChildren() {return children;}public void setChildren(Set<Org> children) {this.children = children;}@ManyToOne@JoinColumn(name="parent_id")public Org getParent() {return parent;}public void setParent(Org parent) {this.parent = parent;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}}
测试代码:

Session sess=sf.getCurrentSession();sess.beginTransaction();Org o=new Org();o.setName("zgs");Org o1=new Org();o1.setName("fgs1");Org o2=new Org();o2.setName("fgs2");Org o11=new Org();o11.setName("fgs11");o11.setParent(o1);o1.setParent(o);o2.setParent(o);o.getChildren().add(o1);o.getChildren().add(o2);o1.getChildren().add(o11);sess.save(o);sess.getTransaction().commit();



0 0
原创粉丝点击