Java中多对多映射关系
多对对的映射,可以用学生和课程进行演示。一个学生可以选择多个课程,一个课程又对应了多个学生
定义学生类

class Stu{
private String name;
private String num;
private Course[] course;
public Stu() {}
public Stu(String name,String num) {
this.name = name;
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public Course[] getCourse() {
return course;
}
public void setCourse(Course[] course) {
this.course = course;
}
public String getInfo() {
return "姓名 :"+name+" 学号 :"+num;
}
}

定义课程 类

class Course{
private String name;
private Stu[] stu;
public Course() {}
public Course(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Stu[] getStu() {
return stu;
}
public void setStu(Stu[] stu) {
this.stu = stu;
}
public String getInfo() {
return "课程 :"+name;
}
}

在main方法测试
首先定义Stu和Course对象,分别有三个

Stu s1 = new Stu("张三","001");
Stu s2 = new Stu("李四","002");
Stu s3 = new Stu("王五","003");
Course c1 = new Course("Java");
Course c2 = new Course("php");
Course c3 = new Course("Python");

设置彼此的关系,每个对象都有多个对象对应

//设置学生和课程的关系
s1.setCourse(new Course[]{c1,c2});
s2.setCourse(new Course[]{c1,c3});
s3.setCourse(new Course[]{c2,c3}); //相应的课程设置与学生的关系
c1.setStu(new Stu[]{s1,s2});
c2.setStu(new Stu[]{s1,s3});
c3.setStu(new Stu[]{s2,s3});

根据学生,获取课程信息
System.out.println(s1.getInfo()+" 同学选择的课程有");
for(int i=0; i<s1.getCourse().length; i++) {
System.out.println(s1.getCourse()[i].getInfo());
}
运行

根据课程,获取学生信息
System.out.println(c2.getInfo()+" 选择这门课程的学生信息");
for(int i=0; i<c2.getStu().length; i++) {
System.out.println(c2.getStu()[i].getInfo());
}
运行

Java中多对多映射关系的更多相关文章
- hibernate笔记--单(双)向的多对多映射关系
在讲单向的多对多的映射关系的案例时,我们假设我们有两张表,一张角色表Role,一张权限表Function,我们知道一个角色或者说一个用户,可能有多个操作权限,而一种操作权限同时被多个用户所拥有,假如我 ...
- hibernate(四) 双向多对多映射关系
序言 莫名长了几颗痘,真TM疼,可能是现在运动太少了,天天对着电脑,决定了,今天下午花两小时去跑步了, 现在继上一章节的一对多的映射关系讲解后,今天来讲讲多对多的映射关系把,明白了一对多,多对多个人感 ...
- Hibernate学习(四)———— 双向多对多映射关系
一.小疑问的解答 问题一:到这里,有很多学习者会感到困惑,因为他不知道使用hibernate是不是需要自己去创建表,还是hibernate全自动,如果需要自己创建表,那么主外键这种设置也是自己设置吗? ...
- Hibernate中的一对一映射关系
Hibernate中的一对一映射关系有两种实现方法(单向一对一,和双向一对一)(一对一关系:例如一个department只能有一个manager) 单向和双向有什么区别呢??例如若是单向一对一,比如在 ...
- java框架篇---hibernate(多对多)映射关系
以学生和老师为例的来讲解多对多映射. 实体类: Student package cn.itcast.g_hbm_manyToMany; import java.util.HashSet; import ...
- Hibernate的多对多映射关系
example: 老师(teacher)和学生(Student)就是一个多对多的关系吧?老师可以有多个学生,学生也可以由多个老师,那在Hibernate中多对多是怎样实现的呢?? 在Hibernate ...
- Hibernate(五)之一对多&多对一映射关系
既然我们讲到了一对多和多对一关系,必然要提到多表设计的问题.在开发中,前期需要进行需求分析,希求分析提供E-R图,根据ER图编写表结构. 我们知道表之间关系存在三种: 一对多&多对一:1表(主 ...
- flask中 多对多的关系 主从表之间的的增删改查
# 角色表模型class Role(db.Model): r_id = db.Column(db.Integer, primary_key=True) r_name = db.Column(db.St ...
- 数据表与简单java类——多对多映射
给定一张Meber和Product表,得到如下信息: 1.获取一个用户访问的所有商品信息 2.获取一个商品被哪些用户浏览过的信息 package Mapping_transformation; cla ...
随机推荐
- 【BZOJ】1218: [HNOI2003]激光炸弹(前缀和)
题目 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文件名为 ...
- [转]搭建MySQL高可用负载均衡集群
转自:http://www.cnblogs.com/phpstudy2015-6/p/6706465.html 阅读目录 1.简介 2.基本环境 3.配置MySQL主主复制 4.中间件简述 4.1.H ...
- SQL Server 全文索引的硬伤
本文关键字:SQL Server全文索引.CONTAINS.FREETEXT.CONTAINSTABLE.FREETEXTTABLE等谓词. 想象这样一个场景:在DataBase_name.dbo.T ...
- CentOS下如何从vi编辑器插入模式退出到命令模式
刚打了下关于vi编辑器的命令,发现一直退出不了.后来自己敲着敲着它就退出了,写博客记录下. 比如现在w文件夹下面有一个ww文件 我进入这个文本,输入命令 vi ww,未回车,情况如下 按了回车,就进入 ...
- [安全分享]斗鱼&360补天沙龙分享-跨域资源那些事
[安全分享]斗鱼&360补天沙龙分享-跨域资源那些事 主要内容: 文件: http://scan.javasec.cn/补天&斗鱼-跨域资源那些事.pdf
- springcloud (一) 介绍
开启springcloud 之旅... 传统单体架构: 微服务架构: 每个模块独立运行,就是独立的进程. 接下来基于springboot 来构建微服务: 1, 客户端->订单微服务->用户 ...
- 记一则css3计算
.Head{ background-image: url("../../Img/PersonalCenter/banner.png"); background-repeat: no ...
- leetcode357
public class Solution { public int CountNumbersWithUniqueDigits(int n) { ) { ; } ; ; ; && av ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测
Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法 ...
- 两个不同vim之间复制内容
常规想法是打开两个vim,然后进行yy和p操作,但是实践证明根本是不行的.此时,我们需要分割窗口,然后就可以复制粘贴了.步骤如下: 假设我要把srv.c文件的readline函数整体复制到cli.c文 ...