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

如何将一组 java 对象表示为数据库中其他对象的字段?

如何将一组 java 对象表示为数据库中其他对象的字段?

白板的微信 2023-06-04 15:43:14
我有一堂运动和训练课。我想在每次培训中进行一组练习。我的问题是——如何在数据库和 Java 中表示?我想到的是根据表training_id中的外键在特定训练中添加一个练习exercise。但我想将每个练习存储在一组训练中,或者只列出训练课程的一个领域——我认为这是这样做的好方法,但我可能是错的。@Entity@Table(name = "exercise")public class Exercise {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    @Column(name = "exercise_id")    private int id;    @Column(name = "exercise_name")    private String name;    @Column(name = "weight")    private double weight;    @Column(name = "series")    private int series;    @Column(name = "training_id")    private int trainingId;@Table(name = "training")public class Training {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    @Column(name = "training_id")    private int id;    @Column(name = "training_name")    private String trainingName;    @Column(name = "date")    private Date date;    private Set<Exercise> exercises;也许我不明白它的概念。谁能告诉我正确的方法吗?
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

试试这个:


@Table(name = "training")

public class Training {


    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "training_id")

    private int id;


    @Column(name = "training_name")

    private String trainingName;


    @Column(name = "date")

    private Date date;


    @OneToMany(mappedBy = "training")

    private Set<Exercise> exercises = new HashSet<>();



@Entity

@Table(name = "exercise")

public class Exercise {


    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "exercise_id")

    private int id;


    @Column(name = "exercise_name")

    private String name;


    @Column(name = "weight")

    private double weight;


    @Column(name = "series")

    private int series;


    @Column(name = "training_id")

    private int trainingId;


    @ManyToOne

    @JsonIgnoreProperties("exercises")

    private Training training;

这将是外键引用的 2 个单独的数据库。


编辑:这将是外键引用的2 个单独的表(不是数据库)。


查看完整回答
反对 回复 2023-06-04
  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

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