@OneToOne Or @ManyToOne?



有人能确认我的以下内容吗?

我有以下Entite:

public class Book {
.............

}

public class Student {
@OneToOne
Book favoriteBook
}
public class StudentOrderHistory{
Student student;
@OneToOne
Book lastBook;
}

如果favoriteBook/lastBook只链接到每一个Student或StudentOrderHistory,那么它仍然是@OneToOne关系,还是会是@ManyToOne关系,因为同一BookEntity链接在多个Entite中(此处为Student和StudentOrderHistory(?

如果同一本书是不同学生最喜欢的书,@ManyToOne会更合适吗?

我认为许多学生可能有相同的最喜欢的书,这使得它成为多对一:

public class Student {
@ManyToOne
Book favoriteBook
}

这意味着两个不同的学生可以拥有他们最喜欢的同一本书。约翰和简最喜欢的书是《;《白鲸》;

除非学生可以有多个订单历史记录,否则我会说这是一对一的:

public class StudentOrderHistory{
@OneToOne
Student student;
}

因为订单的历史对每个学生来说都是独一无二的。

但不确定lastBook。如果这意味着一个学生有这本书,而其他人不能把它作为lastBook,那么它就是一对一的:

public class StudentOrderHistory{
@OneToOne
Student student;
@OneToOne
Book lastBook;
}

这本书只属于StudentOrderHistory,因此只属于一个学生。如果你指的是他们订购的最后一本书,而与此同时,其他人订购了同一本书

public class StudentOrderHistory{
@OneToOne
Student student;
@ManyToOne
Book lastBook;
}

似乎两个不同的学生可以订购同一本书,但如果不了解更多,很难说哪个解决方案是正确的。

相关内容

  • 没有找到相关文章

最新更新