1:n Relation (One to Many)
- Create an Automaker entity and add a company attribute of type String.
- Close the Automaker tab and click Yes in the following dialog to save the Automaker entity.
- Create a Carmodel entity and add a model attribute of type String.
- Under Entities in the Project Manager, click Automaker.java and add the Automaker entity to the entity editor under Attributes.
- In the following dialog, choose the Many to One (n:1) option.
- Apply the Bidirectional setting.
- Click OK.
- Click Save.
Result:
Entity Carmodel - The Carmodel entity is enhanced by the automaker entity of type Automaker.
@ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "automaker_id") public Automaker getAutomaker() { return automaker; } public void setAutomaker(Automaker automaker) { this.automaker = automaker; }
Entity Automaker - By applying the setting Bidirectional, the Automaker entity, too, is enhanced with a list of all car models.
@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 in the code via annotation - In the code, the relation is defined with the annotation @ManyToOne or @OneToMany(mappedBy = "automaker").
- Plural - For 1:n relations, RapidClipse automatically generates a plural name for the entity on the n-side, e.g. carmodels, to improve the readability.
- Delete relation - To correctly delete a 1:n relation, you have to delete the corresponding attributes in both entities.
XDEV Software Corp. - One Embarcadero Center, San Francisco, CA 94111, US
Copyright © 2015. XDEV Software Corp. All rights reserved.