gpt4 book ai didi

java - 如何在MySQL中创建与包含关系的组合键相对应的java对象

转载 作者:行者123 更新时间:2023-11-29 15:14:19 26 4
gpt4 key购买 nike

我是Java新手,我将这样解释我的问题。

据我所知,在关系数据库中,如果两个表之间存在任何关系,我们都是通过外键来保留引用。如下。 EmployeeCompany 表之间存在关系。 Employee 表通过引用companyId 作为外键来与Company 保持关系。这是关于关系数据库的。

enter image description here

在java编程中,我们可以为上述表EmployeeCompany创建对应的对象,如下所示。

class Company{
private int companyId;
private String companyName;
private String address;

//getters and setters
}

class Employee{
private int id;
private String name;
private int companyId;//this field use to refer the company table

//getters and setters
}

在 Employee 类中 companyId 用于引用 Company 类。

当关系表中有多个值时,例如,我们会得到两个表,例如StudentSubject。一个学生可以有多个学科,以及学科,可以属于多个学生。在这种情况下,我们需要根据第一范式使用组合键创建另一个名为 Student_Subject 的表。复合键(studentId,subjectId)可用于唯一引用属于特定学生的科目。

我的问题是这个表(Student_Subject)如何表示java应用程序,如上面的例子。我们是否创建一个与Student_Subject相对应的新类,如下

class StudentSubject{
private int subjectId;
private int studentId;

//getters and setters
}

最佳答案

一个明显的方法是将主题 ID 的集合放入您的 Student 类中:

class Student {
int id;
String name;
...
Set<Integer> subjectIds = new HashSet<>();
}

如果需要,您还可以在 Subject 类(class)中添加学生 ID 列表。

关于java - 如何在MySQL中创建与包含关系的组合键相对应的java对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59822362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com