Hibernate——树状映射
来源:互联网 发布:淘宝卖家违规价格优化 编辑:程序博客网 时间:2024/06/16 09:03
在同一个类中使用ManyToOne和OneToMany
@Entitypublic class Org {private int id;private String name;private Set<Org> children =new HashSet<Org>();private Org parent;@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@OneToMany(mappedBy="parent",cascade=CascadeType.ALL,fetch=FetchType.EAGER)public Set<Org> getChildren() {return children;}public void setChildren(Set<Org> children) {this.children = children;}@ManyToOne//@JoinColumn(name="p_id")public Org getParent() {return parent;}public void setParent(Org parent) {this.parent = parent;}}在子类太多的情况下FetchType还是设LAZY比较好
save树状映射
@Testpublic void testSave() {Org o = new Org();o.setName("father");Org o1 = new Org();o1.setName("son1");Org o2 = new Org();o2.setName("son2");Org o3 = new Org();o3.setName("grandson1");o.getChildren().add(o1);o.getChildren().add(o2);o1.getChildren().add(o3);o1.setParent(o);o2.setParent(o);o3.setParent(o1);Session s = sf.getCurrentSession();s.beginTransaction();s.save(o);s.getTransaction().commit();}
利用递归打印树状映射
@Testpublic void testGet(){testSave();Session s = sf.getCurrentSession();s.beginTransaction();Org o =(Org)s.get(Org.class, 1);print(o,0);s.getTransaction().commit();}private void print(Org o,int level) {String preStr = "";for(int i=0;i<level;i++){preStr +="----";}System.out.println(preStr+o.getName());for(Org child:o.getChildren()){print(child,level+1);}}
阅读全文
1 0
- Hibernate——树状映射
- Hibernate——树状映射
- hibernate之树状映射
- hibernate树状结构映射
- Hibernate 树状映射
- hibernate映射应用 - 树状结构
- Hibernate 树状映射简单模拟
- hibernate之树状映射结构
- hibernate--树状映射(至关重要)
- Hibernate——映射
- 【Hibernate】—映射
- hibernate关系映射——关联映射
- hibernate关系映射——继承映射
- Hibernate关系映射——组件映射
- Hibernate映射解析—— 基本映射
- hibernate映射关系——继承映射
- Hibernate关联映射—组件映射
- hibernate 映射关系—基本映射
- iOS-UIView的部分圆角问题
- C++中MAP的使用技巧
- KMP算法
- QtWebkits如何向QtWebEngine过渡
- 关于软件工程的类比
- Hibernate——树状映射
- ImportError: No module named bz2问题解决方法
- CF 255 C Almost Arithmetical Progression
- SVN的“Invalid authz configuration”错误解决方法
- jdbc
- SQL语句执行效率及分析(note)
- Object.keys()用法
- MySQL数据库备份
- POJ2503 Babelfish(AC 字典树)