我需要在我的 user
和 project
实体之间建立多对多关系。现在他们之间的关系是多对一的。我尝试搜索如何在 JDBC
中执行多对多操作,但找不到任何有用的信息。我知道我需要第三个表来连接它们,但我真的不知道如何为它进行查询,以及我需要哪些额外的类。欢迎任何形式的帮助。到目前为止的代码是:
package com.TO;
public class User {
private String login;
private String password;
private String fullName;
private String role;
private String projectKey;
//constructor, setters and getters
}
package com.DAO;
import com.TO.User;
import com.Utills.JDBCUtil;
public class UserDAO {
public static String getTableString(){
String projectTable = "create table user_db ( " +
"login varchar(20) not null, " +
"password varchar(20), " +
"full_name varchar(80), " +
"role varchar(2), " +
"project_key varchar(50), " +
"primary key(login))";
return projectTable;
}
}
package com.TO;
public class Project {
private String key;
private String title;
//constructor, setters and getters
}
package com.DAO;
public class ProjectDAO {
public static String getTableString(){
String projectTable = "create table project ( " +
"project_key varchar(50) not null, " +
"title varchar(50), " +
"primary key(project_key))";
return projectTable;
}
}
PS:getTableString
方法在另一个类中用于创建表。
最佳答案
JDBC 不在表之间创建关系,它允许您对数据库执行查询。您的问题与 JDBC 或任何其他从 Java 代码访问关系数据库的方式无关。这只是创建数据库模型的问题。
关系数据库中的多对多关系需要的是要链接的 2 个表之间的关系表。
参见 there了解更多信息
关于java - 创建多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32350100/