Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Current »

  1. Legen Sie ein Entity 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 Entity zu speichern.
  3. Legen Sie ein Entity Car an und fügen Sie ein Attribut model vom Typ String hinzu. 
  4. Klicken Sie im Project Manager auf main-java > domain > CarManufacturer.java und ziehen Sie es in den Entity-Editor auf die Attributes-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.
Ergebnis:
  • Entity Car - Das Entity Car wird um das Attribut carManufacturer vom Typ CarManufacturer erweitert.

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "carManufacturer_id")
    public CarManufacturer getCarManufacturer()
    {
    	return this.carManufacturer;
    }
    
    public void setCarManufacturer(final CarManufacturer carManufacturer)
    {
    	this.carManufacturer = carManufacturer;
    }


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

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "carManufacturer")
    public List<Car> getCars()
    {
    	return this.cars;
    }
    
    public void setCars(final List<Car> cars)
    {
    	this.cars = cars;
    }
    
    public Car addCar(final Car car)
    {
    	this.getCars().add(car);
    	car.setCarManufacturer(this);
    	return car;
    }
    
    public Car removeCar(final Car car)
    {
    	this.getCars().remove(car);
    	car.setCarManufacturer(null);
    	return car;
    }


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