2017-08-05 131 views
0

我得到了兩個表之間的多對多關係。我使用註釋@ManyToMany來映射它。Hibernate映射,具有多對多關係表的實體

表1 --->關係表--->表2

使用Hibernate我沒有創建關係表,所以我有任何的實體。

實體1(表1)--->實體2(表2)

但我的問題是,我還有一個表,我必須這樣做3TH表和關係之間的關係之前的表和我沒有任何實體之間的關係。

表3 --->關係表

我的意思是3TH表得到了與我之前使用的關係表的外鍵...

我怎麼可以成就呢?對不起,我的英語

謝謝

回答

0

這裏是一個例子。 想象一下,我們對我們的產品和類別 你有2個實體產品和類別

使用Hibernate的代碼優先方法,該實體將是這樣的:

@Entity 
@Table(name = "products") 
public class Product implements Serializable { 
private Long id; 
.... 

@ManyToMany 
@JoinTable(name = "categories_products", 
joinColumns = @JoinColumn(name = "category_id", 
referencedColumnName = "id"), 
inverseJoinColumns = @JoinColumn(name = "product_id", 
referencedColumnName = "id")) 
private Set<Category> categories; 
... 

這裏是代碼

代碼
public class Category { 
private Long id; 
private String name; 
... 
} 

通過使用註釋@JoinTable,將創建第三個表格,並使用以下約束。它會有category_id,它指向產品id的Categories id和product_id。

相關問題