迷失北京

          BlogJava 聯(lián)系 聚合 管理
            60 Posts :: 0 Stories :: 13 Comments :: 0 Trackbacks

          實體:

          package bi.many2many.jointable;
          
          import java.util.HashSet;
          import java.util.Set;
          
          public class Student {
          	private int id;
          	private String name;
          	private Set<Teacher> teachers = new HashSet<Teacher>();
          
          	public Student() {
          
          	}
          
          	public Student(int id, String name, Set<Teacher> teachers) {
          		super();
          		this.id = id;
          		this.name = name;
          		this.teachers = teachers;
          	}
          
          	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 Set<Teacher> getTeachers() {
          		return teachers;
          	}
          
          	public void setTeachers(Set<Teacher> teachers) {
          		this.teachers = teachers;
          	}
          
          }
          
          package bi.many2many.jointable;
          
          import java.util.HashSet;
          import java.util.Set;
          
          public class Teacher {
          	private int id;
          	private String name;
          	private Set<Student> students = new HashSet<Student>();
          
          	public Teacher() {
          
          	}
          
          	public Teacher(int id, String name, Set<Student> students) {
          		super();
          		this.id = id;
          		this.name = name;
          		this.students = students;
          	}
          
          	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 Set<Student> getStudents() {
          		return students;
          	}
          
          	public void setStudents(Set<Student> students) {
          		this.students = students;
          	}
          
          }
          

            

          hbm映射文件:

          <hibernate-mapping>
          	<class name="bi.many2many.jointable.Student">
          		<id name="id" column="sid">
          			<generator class="native" />
          		</id>
          		<property name="name" type="string" column="name"></property>
          		
          		<set name="teachers" table="studentteacher">
          			<key column="sid"></key>
          			<many-to-many class="bi.many2many.jointable.Teacher" column="tid"></many-to-many>
          		</set>
          	</class>
          
          </hibernate-mapping>
          
          <hibernate-mapping>
          	<class name="bi.many2many.jointable.Teacher">
          		<id name="id" column="tid">
          			<generator class="native" />
          		</id>
          		<property name="name" type="string" column="name"></property>
          		
          		<set name="students" table="studentteacher" inverse="true">
          			<key column="tid"></key>
          			<many-to-many class="bi.many2many.jointable.Student" column="sid"></many-to-many>
          		</set>
          	</class>
          
          </hibernate-mapping>
          

            

          測試文件:

          public class Test {
          	@org.junit.Test
          	public void testAdd() {
          		SessionFactory sf = HibernateUtil.getSessionFactory();
          		Session session = sf.getCurrentSession();
          		session.beginTransaction();
          		Teacher t1 = new Teacher();
          		t1.setName("李剛");
          		
          		Teacher t2 = new Teacher();
          		t2.setName("張孝祥");
          		
          		Teacher t3 = new Teacher();
          		t3.setName("馬士兵");
          		
          		Student s1 = new Student();
          		s1.setName("張三");
          		s1.getTeachers().add(t1);
          		s1.getTeachers().add(t2);
          		s1.getTeachers().add(t3);
          		
          		Student s2 = new Student();
          		s2.setName("李四");
          		s2.getTeachers().add(t3);
          		s2.getTeachers().add(t2);
          			
          		session.save(t1);
          		session.save(t2);
          		session.save(t3);
          		session.save(s1);
          		session.save(s2);
          		session.beginTransaction().commit();
          	}
          }
          

            

          測試結(jié)果:

          Hibernate: insert into Teacher (name) values (?)
          Hibernate: insert into Teacher (name) values (?)
          Hibernate: insert into Teacher (name) values (?)
          Hibernate: insert into Student (name) values (?)
          Hibernate: insert into Student (name) values (?)
          Hibernate: insert into studentteacher (sid, tid) values (?, ?)
          Hibernate: insert into studentteacher (sid, tid) values (?, ?)
          Hibernate: insert into studentteacher (sid, tid) values (?, ?)
          Hibernate: insert into studentteacher (sid, tid) values (?, ?)
          Hibernate: insert into studentteacher (sid, tid) values (?, ?)
          

            

          posted on 2011-07-23 10:50 王康 閱讀(413) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 泊头市| 五指山市| 岱山县| 永昌县| 大埔区| 宁晋县| 澳门| 文登市| 建湖县| 新邵县| 夏河县| 尚义县| 怀仁县| 山阴县| 鄂尔多斯市| 津南区| 体育| 台南县| 基隆市| 贵阳市| 湖口县| 伊吾县| 开封市| 昭苏县| 涪陵区| 高密市| 容城县| 武陟县| 海兴县| 寿宁县| 明水县| 潼关县| 南投市| 方山县| 天等县| 炉霍县| 龙里县| 凤冈县| 琼海市| 民县| 安福县|