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

我有两个表: 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:对不起我的英语。


一只名叫tom的猫
浏览 113回答 1
1回答

繁星点点滴滴

除非您对关系本身有特定的属性,否则您将没有一个类来映射关系。您还必须确定关联用户练习的可导航性。它是双向的还是单向的?即您是否需要查找给定用户的所有练习,或给定练习的所有用户,或两者兼而有之?在第一种情况下,您将拥有:public class User{&nbsp; &nbsp; private int id;&nbsp; &nbsp; private String name;&nbsp; &nbsp; List<Exercise> exercises;}在第二种情况下:public class Exercise{&nbsp; &nbsp; private int id;&nbsp; &nbsp; private String content;&nbsp; &nbsp; private List<User> users;}在第三种情况下。注意双向更难维护。你必须同时做:user.getExercises().add(exercise);exercise.getUsers().add(user);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java