1:n Relation (One to Many)

  1. Legen Sie ein Entity Automaker an und fügen Sie ein Attribut company vom Typ String hinzu. 
  2. Schließen Sie das Tab Automaker und klicken Sie im folgenden Dialog auf Yes, um das Entity Automaker zu speichern.
  3. Legen Sie ein Entity Carmodel an und fügen Sie ein Attribut model vom Typ String hinzu. 
  4. Klicken Sie im Project Manager bei Entities auf Automaker.java und fügen Sie das Entity Automaker in den Entity-Editor bei Attributes ein.
  5. Wählen Sie im folgenden Dialog die Option Many to One (n:1). 
  6. Übernehmen Sie die Einstellung Bidirectional.
  7. Klicken Sie auf OK.
  8. Klicken Sie auf Speichern.
Ergebnis:
  • Entity Carmodel - Das Entity Carmodel wird um das Attribut automaker vom Typ Automaker erweitert.

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "automaker_id")
    public Automaker getAutomaker() {
    	return automaker;
    }
    
    public void setAutomaker(Automaker automaker) {
    	this.automaker = automaker;
    }


  • Entity Automaker - Durch die übernommene Einstellung Bidirectional wird gleichzeitig das Entity Automaker um eine Liste mit allen Carmodels erweitert.

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "automaker")
    public List<Carmodel> getCarmodels() {
    	return carmodels;
    }
    
    public void setCarmodels(List<Carmodel> carmodels) {
    	this.carmodels = carmodels;
    }
    
    public Carmodel addCarmodel(Carmodel carmodel) {
    getCarmodels().add(carmodel);
    carmodel.setAutomaker(this);
    return carmodel;
    }
    
    public Carmodel removeCarmodel(Carmodel carmodel) {
    getCarmodels().remove(carmodel);
    carmodel.setAutomaker(null);
    return carmodel;
    }


Hinweis:
  • Relation im Code per Annotation - Im Code wird die Relation mit Hilfe der Annotationen @ManyToOne, bzw. @OneToMany(mappedBy = "automaker") definiert.
  • Plural - Bei 1:n Relationen wandelt RapidClipse den Namen des Entities auf der n-Seite wegen der besseren Lesbarkeit automatisch in Plural um, z.B. carmodels.
  • Relation löschen - Um eine 1:n Relation korrekt zu löschen, müssen Sie die entsprechenden Attribute in beiden Entities löschen.

XDEV Software Corp. - One Embarcadero Center, San Francisco, CA 94111, US
Copyright © 2015. XDEV Software Corp. All rights reserved.