Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. Legen Sie ein neues Entity Extra an .
  2. Wählen Sie im Menü File > New > Entity.
  3. Geben Sie bei Entity > Name die Bezeichnung Extra an und klicken Sie auf Finish.
  4. Klicken Sie im folgenden Entity-Editor auf Add Attribute, geben Sie bei Name die Bezeichnung extra ein und übernehmen Sie bei Type den Datentyp String.
  5. Klicken Sie auf Speichernund fügen Sie ein Attribut extra vom Typ String hinzu.
  6. Legen Sie ein neues Entity Car an.
    1. Wählen Sie im Menü File > New > Entity.

    2. Geben Sie bei Entity > Name die Bezeichnung Car an und klicken Sie auf Finish
  7. Definieren Sie eine n:1 Relation zwischen den Entities Carmodel und Car.
    1. Klicken Sie im Project Manager bei Entities auf Carmodel.java und ziehen Sie dieses Entity per Drag-and-drop in den Entity-Editor.
    2. Wählen Sie im folgenden Dialog die Option Many to One (n:1 - Each Carmodel has many Cars) an. 
    3. Klicken Sie auf Ok.
    4. Klicken Sie auf Speichern.
  8. Fügen Sie mit Add Attribute einige weitere Attribute Entity Car an und fügen Sie folgende Attribute hinzu:
    1. registration vom Typ Date 
    2. mileage vom Typ Integer
    3. kw vom Typ Integer
    4. price vom Typ Double
  9. Definieren Sie eine n:m Relaion zwischen den Entities Car und ExtraKlicken Sie im Project Manager bei bei Entities auf Extra.java und ziehen Sie dieses Entity per Drag-and-drop auf Extra und fügen Sie das Entity Extra in den Entity-Editor bei Attributes ein.
  10. Wählen Sie im folgenden Dialog die Option Many to Many (n:m - Each Car has many Extras and each Extra has many Cars).
  11. Übernehmen Sie die Einstellung Einstellung Bidirectional mit dem  und den vorgeschlagenen Namen carextra für die Join Table, die in der Datenbank für die Abbildung einer der n:m Relation benötigt wird.
  12. Klicken Sie auf OK.
  13. Klicken Sie auf Speichern.
    Image Added

    Image Added
Ergebnis:
  • Entity Car - Das Entity Car wird um das Attribut extras vom Typ Set erweitert.

    Code Block
    languagejava
    themeConfluence
    @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "carextra", joinColumns = @JoinColumn(name = "car_id", referencedColumnName = "id", nullable = false, updatable = false), inverseJoinColumns = @JoinColumn(name = "extra_id", referencedColumnName = "id", nullable = false, updatable = false))
    public Set<Extra> getExtras() {
    	return extras;
    }
    
    public void setExtras(Set<Extra> extras) {
    	this.extras = extras;
    }
  • Entity Extra - Das Entity Extra wird um das Attribut cars vom Typ Set erweitert.

    Image Added

    Code Block
    languagejava
    themeConfluence
    @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "carextra", joinColumns = @JoinColumn(name = "extra_id", referencedColumnName = "id", nullable = false, updatable = false), inverseJoinColumns = @JoinColumn(name = "car_id", referencedColumnName = "id", nullable = false, updatable = false))
    public Set<Car> getCars() {
    	return cars;
    }
    
    public void setCars(Set<Car> cars) {
    	this.cars = cars;
    }

Hinweis:

  • Relation im Code per Annotation - Im Code wird die Relation in beiden Entities mit Hilfe der Annotation @ManyToMany definiert.
  • Plural - Bei n:m Relationen erzeugt RapidClipse den Namen des neuen Attributes wegen der besseren Lesbarkeit automatisch in Plural, z.B. cars.