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 CarManufacturer und klicken Sie im folgenden Dialog auf Yes, um das 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 - Each Automaker has many Carmodels). 
  6. Übernehmen Sie die Einstellung Bidirectional.
  7. Klicken Sie auf OK.
  8. Klicken Sie auf Speichern.
    Image Removed
    Image RemovedImage Added
Ergebnis:
  • Entity CarmodelCar - Die Klasse CarmodelDas Entity Car 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 CarManufacturer - Durch die übernommene Einstellung Bidirectional wird gleichzeitig die Klasse Automaker um das Entity CarManufacturer um eine Liste mit allen Carmodels cars erweitert.
    Image RemovedImage Added

    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 bidirektionale Relation korrekt zu löschen, müssen Sie die entsprechenden Attribute in beiden Entities löschen.