博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【hibernate框架】多对多双向关联(XML实现)
阅读量:6344 次
发布时间:2019-06-22

本文共 2288 字,大约阅读时间需要 7 分钟。

多对多的双向关联:(非常少用)
通过老师可以知道他教了多少学生,这是单项多对多。而如果同时通过学生知道有多少个老师教他,那么就是多对多双向的关联。
XML实现:
Student.java:
package cn.edu.hpu.many2many;import java.util.HashSet; import java.util.Set;public class Student {	private int id;	private String name;		private Set
teachers=new HashSet
(); public Set
getTeachers() { return teachers; } public void setTeachers(Set
teachers) { 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; } }
Teacher.java:
package cn.edu.hpu.many2many;import java.util.HashSet;import java.util.Set;import cn.edu.hpu.many2many.Student;public class Teacher {	private int id;	private String name;	private Set
students=new HashSet
(); //选择set的原因是因为,set互相之间不会有重复的 //跟数据库模型比较匹配 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
getStudents() { return students; } public void setStudents(Set
students) { this.students = students; } }
配置文件:
Student.hbm.xml:
Teacher.hbm.xml:
在hibernate.cfg.xml中配置:
生成的sql语句:
 create table t_s (
        student_id integer not null,
        teacher_id integer not null,
        primary key (teacher_id, student_id)
    )
    create table xm_student (
        id integer not null auto_increment,
        name varchar(255),
        primary key (id)
    )
    create table xm_teacher (
        id integer not null auto_increment,
        name varchar(255),
        primary key (id)
    )
    alter table t_s 
        add index FK1BF687B5893C2 (teacher_id), 
        add constraint FK1BF687B5893C2 
        foreign key (teacher_id) 
        references xm_teacher (id)
    alter table t_s 
        add index FK1BF686ABD4922 (student_id), 
        add constraint FK1BF686ABD4922 
        foreign key (student_id) 

        references xm_student (id)

转载请注明出处:

你可能感兴趣的文章
c# GC 新典型
查看>>
ssh bash 通配符
查看>>
seajs在jquery多个版本下引用jquery的插件的方案
查看>>
关于网络上java,php和.net的“口角之争“的一点想法 !
查看>>
python 第二周(第十三天) 我的python成长记 一个月搞定python数据挖掘!(21) -正则表达式re...
查看>>
[POI2011]SEJ-Strongbox
查看>>
20文件
查看>>
Android开发Intent应用概述
查看>>
【Go】并发编程
查看>>
获取JAVA对象占用的内存大小
查看>>
VMware虚拟化NSX-Manager命令行更改admin用户密码
查看>>
悦纳自己
查看>>
数据库优化以及SQL优化小结
查看>>
python字符串函数
查看>>
iOS-触摸事件、手势识别、摇晃事件、耳机线控
查看>>
牛腩新闻发布系统 (3) 存过过程或函数""需要""参数,但未提供该参数
查看>>
ORM框架Hibernate (四)MyEclipse Hibernate Tool 逆向生成实体类
查看>>
js中substr与substring的区别
查看>>
去掉iphone连接电脑时会出现的弹出窗口
查看>>
【python】-- web开发之HTML
查看>>