项目结构:
数据库 课程--学生对应表
实体类----之贴出对应属性
Student.java
public class Student {
private int id;
private String name;
private int age;
private Set<Course> course;
}
Course.java
public class Course {
private int id;
private String name;
private Set<Student> stu;
}
Hibernate.cfg.xml
<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" >
<hibernate-configuration>
<session-factory>
<property name="myeclipse.connection.profile">mysqlTest</property>
<property name="connection.url">
jdbc:mysql://10.2.11.6:3306/yyj001
</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<mapping resource="com/yns/pojo/Course.hbm.xml" />
<mapping resource="com/yns/pojo/Student.hbm.xml" />
</session-factory>
</hibernate-configuration></span>
Student.hbm.xml
<span style="font-size:18px;"><?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" >
<hibernate-mapping>
<class name="com.yns.pojo.Course" table="course">
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"></property>
<set name="stu" table="sc">
<key column="cid"></key>
<many-to-many class="com.yns.pojo.Student" column="sid"></many-to-many>
</set>
</class>
</hibernate-mapping></span>
Course.hbm.xml
<span style="font-size:14px;"><?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" >
<hibernate-mapping>
<class name="com.yns.pojo.Student" table="student">
<id name="id" column="sid">
<generator class="native"></generator>
</id>
<property name="name"></property>
<property name="age"></property>
<set name="course" table="sc">
<key column="sid"></key>
<many-to-many class="com.yns.pojo.Course" column="cid"></many-to-many>
</set>
</class>
</hibernate-mapping></span>
TestMain.java
<span style="font-size:14px;">public class TestMain {
public static void main(String[] args) {
Configuration configuration = new Configuration().configure();
SessionFactory sessionFactory = configuration.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
Query query = session.createQuery("from Course");
List<Course> list = query.list();
transaction.commit();
for(Course cc:list){
System.out.println(cc);
for(Student stu:cc.getStu()){
System.out.println(stu);
}
}
}
}</span>
输出结果--->
Hibernate: select course0_.id as id0_, course0_.name as name0_ from course course0_ Course [id=1, name=java] Hibernate: select stu0_.cid as cid1_, stu0_.sid as sid1_, student1_.sid as sid2_0_, student1_.name as name2_0_, student1_.age as age2_0_ from sc stu0_ left outer join student student1_ on stu0_.sid=student1_.sid where stu0_.cid=? Student [id=1, name=aa, age=23] Student [id=2, name=bb, age=18] Course [id=2, name=android] Hibernate: select stu0_.cid as cid1_, stu0_.sid as sid1_, student1_.sid as sid2_0_, student1_.name as name2_0_, student1_.age as age2_0_ from sc stu0_ left outer join student student1_ on stu0_.sid=student1_.sid where stu0_.cid=? Student [id=1, name=aa, age=23] Student [id=3, name=cc, age=13] |
PS:源码下载:点我下载源码