Hibernate 系列教程9-自关联
生活随笔
收集整理的這篇文章主要介紹了
Hibernate 系列教程9-自关联
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
自關(guān)聯(lián):本質(zhì)還是原來(lái)雙向一對(duì)多,原來(lái)要配置兩個(gè)類,現(xiàn)在全部都配置在一個(gè)類里面
Employee
public class Employee {private Long id;private String name;// 多對(duì)一: 多個(gè)員工對(duì)一上級(jí)private Employee manager;// 一對(duì)多:一個(gè)領(lǐng)導(dǎo)有多個(gè)下級(jí)private Set<Employee> children = new HashSet<Employee>();Employee.hbm.xml
<class name="Employee" table="t_employee"><id name="id"><generator class="native" /></id><property name="name" /><!-- private Employee manager;// 多對(duì)一: 多個(gè)員工對(duì)一上級(jí) --><many-to-one name="manager" column="manager_id" class="Employee"/><!-- private Set<Employee> children = new HashSet<Employee>();// 一對(duì)多:一個(gè)領(lǐng)導(dǎo)有多個(gè)下級(jí) --><set name="children" inverse="true" cascade="save-update"><key column="manager_id" /><one-to-many class="Employee" /></set></class>MainTest
public class MainTest {Session session = null;@Beforepublic void save() {session = HibernateUtils.INSTANCE.getSession();session.beginTransaction();Employee boss = new Employee("boss");Employee manager = new Employee("manager");Employee emp1 = new Employee("emp1");Employee emp2 = new Employee("emp2");manager.addEmployee(emp1).addEmployee(emp2);boss.addEmployee(manager);session.save(boss);}@Testpublic void get() {Employee boss = (Employee) session.get(Employee.class, 1L);System.out.println("boss:" + boss.getName());Set<Employee> employees = boss.getChildren();for (Employee manager : employees) {System.out.println("manager:" + manager.getName());Set<Employee> children = manager.getChildren();for (Employee employee : children) {System.out.println("employee:" + employee.getName());}}}@Afterpublic void colse() {session.getTransaction().commit();session.close();} }源碼地址
https://github.com/je-ge/hibernate
如果覺(jué)得我的文章對(duì)您有幫助,請(qǐng)予以打賞。您的支持將鼓勵(lì)我繼續(xù)創(chuàng)作!謝謝!
轉(zhuǎn)載于:https://www.cnblogs.com/je-ge/p/6105500.html
總結(jié)
以上是生活随笔為你收集整理的Hibernate 系列教程9-自关联的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python 【第八章】:JavaScr
- 下一篇: js 闭包及其相关知识点理解