JPA - 如何映射两个表之间的关系?

时间:2012-10-20 12:41:03

标签: java hibernate jpa

我是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;
}

2 个答案:

答案 0 :(得分:1)

查看@OneToOne@ManyToOne@JoinColumn注释

答案 1 :(得分:0)

这样的事情应该这样做,假设许多电影都会出现相同的评分。

 @ManyToOne(optional=false) 
 @JoinColumn(name="rating_id", referencedColumnName = "ID", nullable=false)
 public RatingEntity rating

找到@ManyToOne的详细信息here