<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.ts.vo.Teacher" table="teacher" catalog="ts">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="identity" />
</id>
<property name="teachername" type="java.lang.String">
<column name="teachername" length="32" not-null="true" />
</property>
<set name="students" inverse="true" lazy="true" cascade="all">
<key>
<column name="teacher_id" />
</key>
<one-to-many class="com.ts.vo.Student" />
</set>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.ts.vo.Student" table="student" catalog="ts">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="identity" />
</id>
<many-to-one name="teacher" class="com.ts.vo.Teacher" fetch="select">
<column name="teacher_id" />
</many-to-one>
<property name="studentname" type="java.lang.String">
<column name="studentname" length="32" not-null="true" />
</property>
</class>
</hibernate-mapping>
测试:
public class TeacherStudentTest {
private Session session=null ;
private Transaction tx=null ;
public Session getSession(){
SessionFactory factory=new Configuration().configure().buildSessionFactory() ;
session=factory.openSession() ;
return session ;
}
public List getTeacherList()
{
session=getSession() ;
tx=session.beginTransaction() ;
String hql="from Teacher" ;
Query query=session.createQuery(hql) ;
List list=query.list() ;
for(Object obj : list){
Teacher teacher=(Teacher)obj ;
if(!Hibernate.isInitialized(teacher.getStudents()))
Hibernate.initialize(teacher.getStudents()) ;
}
return list;
}
public static void main(String[] args)
{
TeacherStudentTest ts=new TeacherStudentTest() ;
List list=ts.getTeacherList() ;
for(Object obj : list)
{
Teacher teacher=(Teacher)obj ;
System.out.println("教师姓名:--->" + teacher.getTeachername()) ;
for(Object obj2 : teacher.getStudents())
{
Student student=(Student)obj2 ;
System.out.println("学生姓名:--->" + student.getStudentname()) ;
}
System.out.println("=======================") ;
}
}
}