【问题标题】:Understanding hibernate relationships了解休眠关系
【发布时间】:2017-04-06 21:30:39
【问题描述】:

我有一个实体 Student,我有另一个名为 Scores 的实体

每个学生都有一个包含三种分数的分数

那么这些对象之间是否存在OnetoOne 关系?还是应该是学生和分数之间的OneToMany 关系?

要清楚,这里是分数对象

Scores

Int MathScore;
Int SciScore;

我无法将其保存到数据库中。学生表的 score_id 字段始终为空

【问题讨论】:

  • 这取决于您选择的设计。但是“一个学生有分数”已经看起来不对了。要么他有一个分数(没有 s),要么他有很多分数(有一个 s)。

标签: hibernate jpa


【解决方案1】:

这取决于你想用它做什么,但如果 1 个学生有 1 个分数,而 1 个分数只有 1 个学生。那么是的,OnetoOne 是一个不错的选择。

每个学生都有一个包含三种分数的分数

我会用枚举来做到这一点。

【讨论】:

  • 感谢您的确认。不知道为什么我看到学生表中分数的 ID 为空
【解决方案2】:

这是一个简单的例子。

一对一

@Entity    
class Student {

@OneToOne
private Scores scores;

}

一对多

@Entity    
class Student {

@OneToMany
private List<Scores> scoresList;

}

最好使用Score实体或复数列表

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多