我无法决定如何代表发布日期'电影'中的字段JPA中的实体。以this movie为例。类字段看起来像这样:
@Entity
public class Movie {
private Long id;
private String name;
private Director director;
private List<Writer> writers;
private List<Actor> actors;
private List<ReleaseDate> releaseDates;
}
//@Entity ?
class ReleaseDate {
private String northAmericanReleaseDate;
private String europeanReleaseDate;
private String asianReleaseDate;
// add more locations here
}
如果电影可以有多个发行日期,我不太清楚如何表示它们。上面是我到目前为止,如果一个电影没有在一个位置发布它将是null,暗示没有在该位置发布。
更大的问题是,我不认为ReleaseDate应该是一个实体/班级,因为我不认为它会在一张桌子上排成一行,并且有自己的ID。这里最好的策略是什么?感谢。
答案 0 :(得分:0)
我认为数据模型不正确(您的问题与JPA没有任何关系)。也许我错了,但我认为,发布日期与电影和大陆(欧洲,美洲,亚洲)或任何其他地理位置有关,对吧?然后事件Release
应该是具有成员电影,日期,位置/大陆,国家等的实体。 (电影和位置应该是唯一的。)
拥有一个发布日期和每个位置一个成员字段没有任何意义,使它们为空。相反,位置应该是通用的。
答案 1 :(得分:0)
enum ReleaseLocation {
NorthAmerica, Europe, Asia;
}
class ReleaseDate {
private String releaseDate;
private ReleaseLocation releaseLocation;
}
这样的事情怎么样?