gpt4 book ai didi

Hibernate - 如何从连接表引用集合?

转载 作者:行者123 更新时间:2023-12-03 06:47:50 25 4
gpt4 key购买 nike

我有一个模型,其中考试有多对多的映射到问题,并且每个 Question_exam 组合可以有多个结果(例如 exam1 中的问题 1 可以回答 10 次,因此将有 10 个结果)。基本模型类如下

Exam{
exam_id
}

Question{
question_id
}

Result{
id
exam_id
question_id
dateentered
}

我可以轻松创建考试和问题之间的关系,hibernate 使用我创建的名为 exams_questions 的连接表。我的问题是将结果链接到 exams_questions 表。例如,如果我想获得具有以下结构的考试对象:考试 - 问题 - 结果(仅适用于与考试相关的问题)

如何编写映射以允许我获得包含问题集合的考试作为对象,并且这些问题具有结果集合(仅适用于该考试)?

我研究过具有额外列和三元关联的连接表,但我认为它们没有为我提供所需的内容。

提前致谢

最佳答案

您应该具有以下关联:

Exam {
id;

@OneToMany(mappedBy = "exam")
Set<ExamQuestion> examQuestions;
}
Question {
id;

@OneToMany(mappedBy = "question")
Set<ExamQuestion>;
}
ExamQuestion {
id;

@ManyToOne
Question question;

@ManyToOne
Exam exam;

@OneToMany(mappedBy="examQuestion")
Set<Result> results;
}
Result {
id

@ManyToOne
ExamQuestion examQuestion;
}

上面将每个关联映射为双向关联,但您当然可以选择将它们设为单向。

关于Hibernate - 如何从连接表引用集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13456037/

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