2017-04-05 29 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會更適合這種情況。 –

相關問題