2009-06-19 29 views
4

當用hibernate註釋做連接表時,如何添加一個不是連接列的額外列,比如說,已婚是弱實體?像一個額外的列?Hibernate註釋加入表問題

@ManyToMany(targetEntity=some.class, 
     cascade ={CascadeType.PERSIST, CascadeType.MERGE}, fetch=FetchType.EAGER) 
@JoinTable(name = "RELATION", joinColumns ={ 
     @JoinColumn(name = "HID", unique = true) 
    }, inverseJoinColumns = { 
     @JoinColumn(name = "FID") 
}) 
Set<PERSON> PEOPLE = new HashSet<PERSON>(); 

回答

7

第三列在技術上使該表成爲實體,而不是「可聯結」。所以這個表格需要是一個實體本身。從SQL的角度考慮它。連接表是否僅僅是一個連接表,當它不僅僅需要將兩個其他表連接在一起時需要的信息?

而且爲FYI,這種情況下是覆蓋在「Java持久性(JPA)和Hibernate」第7章:

您可以使用兩種常用策略,以這樣的結構映射到Java類。第一個策略需要一個用於連接表的中間實體類,並且使用一對多關聯映射到 。第二種策略使用組件集合,爲連接表使用值類型的類。

+2

具體來說,這是該書的第7.2.3節。 – danieljimenez 2009-06-20 20:28:01