Hibernate(4)——关系关联一对多映射

目录

 

1. 班级——学生一对多映射;


​​​​​​​

1. 班级——学生一对多映射;

先建立Class班级类;

package com.java.model;

public class Class {

    private int id;
    private String name;

    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;
    }
}

再建立学生类,包含班级类的一个类属性; 

package com.java.model;

public class Student {

    private int id;
    private String name;
    //班级对象
    private Class c;

    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 Class getC() {
        return c;
    }

    public void setC(Class c) {
        this.c = c;
    }
}

分别添加班级类的配置文件学生类的配置文件; 

Class.hbm.xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.java.model">

	<class name="Class" table="t_class">
		<id name="id" column="classId">
			<generator class="native"></generator>
		</id>
		
		<property name="name" column="className"></property>
	</class>

</hibernate-mapping>

Student.hbm.xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.java.model">

	<class name="Student" table="t_student">
		<id name="id" column="stuId">
			<generator class="native"></generator>
		</id>
		
		<property name="name" column="stuName"></property>

		<!--学生端多对一,column是学生表的外键,对应班级表的主键-->
		<many-to-one name="c" column="classId" class="com.java.model.Class"></many-to-one>
	</class>

</hibernate-mapping>

最后建立测试类;

package com.java.service;

import com.java.util.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.SessionFactory;

public class StudentTest {

    public static void main(String[] args) {
        SessionFactory sessionFactory=HibernateUtil.getSessionFactory();
        Session session=sessionFactory.openSession(); // 生成一个session
        session.beginTransaction(); // 开启事务



        session.getTransaction().commit(); // 提交事务
        session.close(); // 关闭session
    }
}

 运行成功后发现数据库中成功建立了两张表,也有对应关系!

发布了295 篇原创文章 · 获赞 100 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_37084904/article/details/102676436
今日推荐