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

一对多(组织and员工)

2012-10-06 
一对多(部门and员工)package com.zchen.user.domainimport java.util.HashSetimport java.util.Setpubl

一对多(部门and员工)

package com.zchen.user.domain;import java.util.HashSet;import java.util.Set;public class Department {private int id;private String name;private Set<Employee> employees = new HashSet<Employee>();public Set<Employee> getEmployees() {return employees;}public void setEmployees(Set<Employee> employees) {this.employees = employees;}public 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;}}
<?xml version="1.0"?><!DOCTYPE hibernate-mapping SYSTEM  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  <hibernate-mapping package="com.zchen.user.domain"><class name="Department" table="`department`">  <id name="id" column="`id`">  <generator unique="true"/>  <set name="employees">  <key column="depart_id"></key> <!-- 外键 -->  <one-to-many name="code">package com.zchen.user.domain;public class Employee {private int id;private String name;private Department department;public 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;}public Department getDepartment() {return department;}public void setDepartment(Department department) {this.department = department;}}

?

<?xml version="1.0"?><!DOCTYPE hibernate-mapping SYSTEM  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  <hibernate-mapping package="com.zchen.user.domain"><class name="Employee" table="`employee`">  <id name="id" column="`id`">  <generator column="depart_id"></many-to-one></class></hibernate-mapping>

?

测试:

package test;import java.util.HashSet;import java.util.Set;import org.hibernate.Session;import org.hibernate.Transaction;import com.zchen.user.dao.HibernateUtil;import com.zchen.user.domain.Department;import com.zchen.user.domain.Employee;public class one2Many {public static void main(String[] args) {add();query(1);}public static Department add(){Department depart = new Department();Employee emp1 = new Employee();Employee emp2 = new Employee();Session session = null;Transaction tx = null;try {depart.setName("事业部");emp1.setDepartment(depart);//对象模型 建立两个对象的关联emp1.setName("阿里郎");emp2.setDepartment(depart);//对象模型 建立两个对象的关联emp2.setName("草原狼");/*Set<Employee> emps = new HashSet<Employee>();emps.add(emp1);emps.add(emp2);depart.setEmployees(emps);*/session = HibernateUtil.getSession();tx = session.beginTransaction();//session.save(depart);//session.save(emp);session.save(emp1);session.save(emp2);session.save(depart);tx.commit();} catch (Exception e) {e.printStackTrace();}finally{if(session != null){session.close();}}return depart;}static Department query(int departId){Session session = null;Transaction tx = null;Department depart = null;try {session = HibernateUtil.getSession();tx = session.beginTransaction();depart = (Department)session.get(Department.class, departId);System.out.println("emp size"+depart.getEmployees().size());tx.commit();} catch (Exception e) {e.printStackTrace();}finally{if(session != null){session.close();}}return depart;}}

?

热点排行