2014-04-21 94 views
1

它是一個簡單的問題,不會花費太多時間。OneToMany JPA註釋

假設這樣的:

Class A{ ... } 

Class B{ 
    @OneToMany 
    private A a; 
} 

這意味着,一個B可有許多或許多可以有一架B?

回答

1

這意味着B可有許多,你的private A a應該通過某種Collection表示,這是@OneToMany裝修應包括mappedBy屬性指向許多方面的相應字段/屬性

public class B { 
    @OneToMany(mappedBy = "b"); 
    private Collection<A> as; 

    @Id 
    @Column(name = "B_ID") 
    private Long id; 
} 

public class A { 
    @ManyToOne 
    @JoinColumn(name = "B_ID"); 
    private B b; 
} 
+0

現在很清楚,謝謝! – Lucas

+0

正如@Elvermg所指出的那樣,這是一個雙向關係的例子,兩個實體之間彼此相互瞭解,但也有單向替換,其中一個知道另一個,但反之亦然。他的回答顯示了這個例子。 +1給他注意這一點。 –

1

的peeskillet提供的答案是正確的,但它使用雙向關係的一個例子。這是,A級知道B類和B類知道A類 您可以在非雙向關係使用:

public class B 
{ 
    @OneToMany 
    private Collection<A> a; 
} 


public class A{} 

B類知道A類,但A級不知道關於B級。

希望得到這個幫助。 :)

+0

我也在想。也謝謝你。 :) – Lucas