我是JPA的新手,并试图弄清楚如何正确映射两个数据库表之间的以下关系:
movies { id, title, rating }
ratings { id, rating }
因此,查询电影数据库将从该电影的第二个表中返回评级字符串('g','pg'等)。每个都是他们自己的@Entity和java类,如下所示。我是否需要getRating()
MovieCatalogEntity
方法中的某些内容才能获得正确的评分?
@Entity(name="movieCatalog")
public class MovieCatalogEntity {
@Id
@Column(name="ID", nullable=false)
private long id;
@Column(name="Title", nullable=false)
private String title;
??? What goes here ????????
private RatingEntity rating;
}
@Entity(name="Rating")
public class RatingEntity {
@Id
@Column(name = "id", nullable=false)
private long id;
@Column(name="Rating", nullable=false)
private String rating;
}
答案 0 :(得分:1)
查看@OneToOne
,@ManyToOne
和@JoinColumn
注释
答案 1 :(得分:0)
这样的事情应该这样做,假设许多电影都会出现相同的评分。
@ManyToOne(optional=false)
@JoinColumn(name="rating_id", referencedColumnName = "ID", nullable=false)
public RatingEntity rating
找到@ManyToOne的详细信息here