2011-07-06 71 views

回答

2

我不相信這是在Hibernate的映射任何可以做到這一點,但你可以簡單地添加一個getBooks()方法你Author類呼籲authorships財產正確的方法:

public class Author { 
    public Collection<Book> getBooks() { 
     if (this.authorships != null) { 
      return this.authorships.getBooks(); 
     } 
     return null;  
    } 
} 

我我不確定爲什麼ORM需要知道B和A之間的傳遞關係,如果你可以直接在類中設置它。

+0

謝謝,這是我目前的解決方法。問題(這可能是一個不同的問題)是當你添加單表繼承,並希望基於關聯的類獲得多態聯接時。 –

1

您可以使用@ManyToMany@JoinTable來解釋如何映射關係。

@ManyToMany(targetEntity = Book.class) 
@JoinTable(name = "authorships", 
     joinColumns = {@JoinColumn(name = "author_id")}, 
     inverseJoinColumns = {@JoinColumn(name = "book_id")})   
public Set<Book> books;