2017-04-05 63 views
0

我有一个Movie.java模型以下部分:如何在给定模型(Java Web)中引用另一个模型?

@Column(name = "genre") 
private Integer genre; 

在我的数据库中,表Movie有一个名为genre列这是一个FK从我Genre表。

Genre.java是另一个只有两个属性的模型:id它是由MySQL DB和name自动生成的。我如何参考Genre,以便当我使用Movie的实例时,我可以拨打.getGenre()并收到Genre对象,而不是id

我使用Java EE 7,休眠4.3.11和GlassFish 4.1.1

+0

假设你在'Movie.java'中添加'private Genre genere'。 –

回答

1

假设电影和电影类型是OneToMany映射,这是一个例子的代码:

public class Movie { 
     // ... 

     @OneToMany(mappedBy="movie") 
     private Set<Genre> genres; 
     // getter and setter 
    } 

Genre.java

public class Genre { 
    // ... 
    @ManyToOne(cascade=CascadeType.ALL) 
    @JoinColumn(name="genre") 
    private Movie movie; 
} 

你可以参考this link实施ManyToMany注释映射。

+0

如果电影实际上属于多种类型,则更实际的现实世界映射将是'@ManyToOne'或甚至可能'@ManyToMany'。 – Naros

+0

是的,ManyToOne或ManyToMany会更适合这种情况。 –

相关问题