jpa
En till många relation
Sök…
parametrar
| Anteckning | Ändamål |
|---|---|
| @TableGenerator | Anger generatornamn och tabellnamn där generator kan hittas |
| @GeneratedValue | Anger generationsstrategi och hänvisar till namnet på generator |
| @ManyToOne | Anger många till en relation mellan anställd och avdelning |
| @OneToMany (mappedBy = "kategorierna") | skapar dubbelriktad relation mellan anställd och avdelning genom att helt enkelt hänvisa till @ManyToOne-kommentar i anställds enhet |
En till många-relation
En till många kartläggning är i allmänhet helt enkelt en dubbelriktad relation mellan många till en kartläggning. Vi kommer att ta samma exempel som vi tog för många till en kartläggning.
Employee.java
@Entity
public class Employee {
@TableGenerator(name = "employee_gen", table = "id_gen", pkColumnName = "gen_name", valueColumnName = "gen_val", allocationSize = 100)
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "employee_gen")
private int idemployee;
private String firstname;
private String lastname;
private String email;
@ManyToOne
@JoinColumn(name = "iddepartment")
private Department department;
// getters and setters
}
Department.java
@Entity
public class Department {
@TableGenerator(table = "id_gen", pkColumnName = "gen_name", valueColumnName = "gen_val", name = "department_gen", allocationSize = 1)
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "department_gen")
private int iddepartment;
private String name;
@OneToMany(mappedBy = "department")
private List<Employee> employees;
// getters and setters
}
Detta förhållande representeras i databasen enligt nedan.
Det finns två punkter att komma ihåg om jpa en till många kartläggning:
- Många till ena sidan är den ägda sidan av förhållandet. Kolumnen definieras på den sidan.
- En till många kartläggning är den omvända sidan, så det mappedBy-elementet måste användas på den omvända sidan.
Komplett exempel kan hänvisas här
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow