2016-07-19 10 views
3

Wenn wir beispielsweise die Annotation mappedBy in @OneToMany verwenden, haben wir den Klassennamen oder den Tabellennamen erwähnt?mappedBy verweist auf den Klassennamen oder auf den Tabellennamen?

Ein exemple:

@Entity 
@Table(name = "customer_tab") 
public class Customer { 
    @Id @GeneratedValue public Integer getId() { return id; } 
    public void setId(Integer id) { this.id = id; } 
    private Integer id; 

    @OneToMany(mappedBy="customer_tab") 
    @OrderColumn(name="orders_index") 
    public List<Order> getOrders() { return orders; } 

} 

Also, welche dieser beiden ist richtig? :

  • @OneToMany (mappedBy = "customer_tab")
  • @OneToMany (mappedBy = "Kunde")?

Vielen Dank!

Antwort

3

Weder ist korrekt. Vom documentation:

mappedBy
public abstract java.lang.String mappedBy
Das Feld, das die Beziehung besitzt. Erforderlich, es sei denn, die Beziehung ist unidirektional.

Die mappedBy Anmerkung gibt an, dass das Feld, das es Etiketten von der anderen Seite der Beziehung gehört, in Ihrem Beispiel die andere Seite einer Eins-zu-viele-Beziehung. Ich weiß nicht genau, was Ihr Schema ist, aber die folgenden Klassendefinitionen würden Sinn machen:

+0

Ah! Deshalb bekomme ich Annotationsfehler !! Vielen Dank – taboubim

Verwandte Themen