为了账号安全,请及时绑定邮箱和手机立即绑定

没有 ORM 的多对多关系中的模型结构

没有 ORM 的多对多关系中的模型结构

一只名叫tom的猫 2021-10-28 14:22:04
我有两个表: User(id pk, name, ...) 和 Exercise(id pk, content, ...) ,它们具有多对多的关系。我创建了两个代表它的类。public class User{    private int id;    private String name;    ....}public class Exercise{    private int id;    private String content;    ....}所以,我的问题是如何在不使用任何 ORM 的情况下添加多对多关系(不要问我为什么我不能这样做)?创建新类 UserExercise 是否正常,例如:public class UserExercise{    private int id_user;    private int id_exercise;}这篇文章的答案是关于使用ORM的,它不适合我PS:对不起我的英语。
查看完整描述

1 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

除非您对关系本身有特定的属性,否则您将没有一个类来映射关系。


您还必须确定关联用户练习的可导航性。它是双向的还是单向的?即您是否需要查找给定用户的所有练习,或给定练习的所有用户,或两者兼而有之?


在第一种情况下,您将拥有:


public class User{

    private int id;

    private String name;

    List<Exercise> exercises;

}

在第二种情况下:


public class Exercise{

    private int id;

    private String content;

    private List<User> users;

}

在第三种情况下。


注意双向更难维护。你必须同时做:


user.getExercises().add(exercise);

exercise.getUsers().add(user);


查看完整回答
反对 回复 2021-10-28
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信