Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. Legen Sie ein Entity Automaker CarManufacturer an und fügen Sie ein Attribut company vom Typ String hinzu. 
  2. Schließen Sie das Tab Automaker und CarManufacturer und klicken Sie im folgenden Dialog auf Yes, um das Entity Automaker zu Entityzu speichern.
  3. Legen Sie ein Entity Carmodel  Car an und fügen Sie ein Attribut model vom Typ String hinzu. 
  4. Klicken Sie im Project Manager bei Entities auf Automakerauf main-java > domain > CarManufacturer.java und fügen ziehen Sie das Entity Automaker in den Entityes in den Entity-Editor bei auf die Attributes ein-Fläche.
  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.
    Image RemovedImage Added
Ergebnis:
  • Entity CarmodelCar - Das Entity CarmodelCar wird um das Attribut automaker vom Typ Automaker erweitertAttribut carManufacturer vom Typ CarManufacturer erweitert.

    Code Block
    languagejava
    themeConfluence
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "automakercarManufacturer_id")
    public AutomakerCarManufacturer getAutomakergetCarManufacturer()
    {
    	return automakerthis.carManufacturer;
    }
    
    public void setAutomakersetCarManufacturer(Automakerfinal CarManufacturer automakercarManufacturer)
    {
    	this.automakercarManufacturer = automakercarManufacturer;
    }


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

    Code Block
    languagejava
    themeConfluence
    @OneToMany(fetch = FetchType.LAZY, mappedBy = "automakercarManufacturer")
    public List<Carmodel>List<Car> getCarmodelsgetCars()
    {
    	return carmodelsthis.cars;
    }
    
    public void setCarmodelssetCars(List<Carmodel>final List<Car> carmodelscars)
    {
    	this.carmodelscars = carmodelscars;
    }
    
    public CarmodelCar addCarmodeladdCar(Carmodelfinal Car carmodelcar)
    {
    getCarmodels	this.getCars().add(carmodelcar);
    carmodel	car.setAutomakersetCarManufacturer(this);
    	return carmodelcar;
    }
    
    public CarmodelCar removeCarmodelremoveCar(Carmodelfinal Car carmodelcar)
    {
    getCarmodels	this.getCars().remove(carmodelcar);
    carmodel	car.setAutomakersetCarManufacturer(null);
    	return carmodelcar;
    }


Hinweis:
  • Relation im Code per Annotation - Im Code wird die Relation mit Hilfe der Annotationen @ManyToOne, bzw. @OneToMany(mappedBy = "automakercarManufacturer") 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. carmodelscars.
  • Relation löschen - Um eine 1:n bidirektionale Relation korrekt zu löschen, müssen Sie die entsprechenden Attribute in beiden Entities löschen.