āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļĢāļ°āļāļąāļāļāļēāļĢāļēāļ
āļĄāļēāļāļđāļāļēāļĢāļēāļāļāļąāđāļāļŠāļāļāļāļāļāđāļĢāļēāļāļĩāļāļāļĢāļąāđāļ:
āļĢāļŦāļąāļŠ | āļāļ·āđāļ | āļāļēāļāļĩāļ | āđāļāļīāļāđāļāļ·āļāļ | āļāļēāļĒāļļ | āđāļāđāļēāļĢāđāļ§āļĄ_āļ§āļąāļāļāļĩāđ |
---|---|---|---|---|---|
1 | āļāļĩāļ§āļēāļāļāļ āļāļĩāļ§āļēāļ | āđāļāļĢāđāļāļĢāļĄāđāļĄāļāļĢāđ | 100,000 | 25 | 2555-06-30 |
2 | āđāļāļāļĢāļāļ āđāļāļāļĢāļāļ | āđāļāļĢāđāļāļĢāļĄāđāļĄāļāļĢāđ | 80000 | 23 | 2013-08-12 |
3 | āļāļĩāļ§āļēāļāļāļ āđāļāļāļĢāđāđāļāļĒāđ | āđāļāļŠāđāļāļāļĢāđ | 40000 | āļŠāļēāļĄāļŠāļīāļ | 2014-01-01 |
4 | āļĢāļēāļāļīāđāļāļ§āļīāļ āļĄāļāļĒāļāļē | āļāļđāđāļāļģāļāļ§āļĒāļāļēāļĢ | 200,000 | 35 | 2015-05-12 |
5 | āļāļīāđāļĢāļĩāļĒāļāđāļ āļāļāļēāļŠāļāļēāđāļāļĩāļĒ | āļāļđāđāļāļąāļāļāļēāļĢāļŠāļģāļāļąāļāļāļēāļ | 40000 | 25 | 2015-10-10 |
6 | āļ§āļēāļŠāļāđāļē | āđāļĄāļ§ | 1,000 | 3 | 2018-11-11 |
āļāļēāļĢāļēāļāļāļāļąāļāļāļēāļ:
āļāļēāļĢāļēāļāļāļĩāđāļĄāļĩāļāļāļĨāļąāļĄāļāđāļāđāļāđāļāļāļĩāđ:
- āļĢāļŦāļąāļŠ INT
- āļāļ·āđāļāļ§āļēāļĢāđāļāļēāļĢāđ
- āļāļēāļāļĩāļ VARCHA
- INT āđāļāļīāļāđāļāļ·āļāļ
- āļāļēāļĒāļļ INT
- join_dateāļ§āļąāļāļāļĩāđ
āđāļĨāļ°āļāļĩāđāļāļ·āļāļĨāļąāļāļĐāļāļ°āļāļāļāļāļēāļĢāļēāļāļāļēāļāļāļķāđāļāļĄāļĩāļāļēāļāļŠāļģāļŦāļĢāļąāļāļāļāļąāļāļāļēāļ āļĄāļĩāļĨāļąāļāļĐāļāļ°āļāļąāļāļāļĩāđ:
āļĢāļŦāļąāļŠ | āļāļāļąāļāļāļēāļ_id | āļāļ·āđāļ | āļ§āļąāļāļāļģāļŦāļāļāļŠāđāļ |
---|---|---|---|
1 | 1 | āđāļāđāđāļāļāđāļāļāļāļāļĢāđāļāļāđāļāļŠāđāļ§āļāļŦāļāđāļē | 2022-06-01 |
2 | 2 | āđāļāđāđāļāļāđāļāļāļāļāļĢāđāļāļāđāļāļŠāđāļ§āļāļŦāļĨāļąāļ | 2022-06-15 |
3 | 5 | āļāļ·āđāļāļāļēāđāļ | 2022-07-01 |
4 | 5 | āļāļ·āđāļāļāļēāđāļ | 2022-08-01 |
5 | 5 | āļāļ·āđāļāļāļēāđāļ | 2022-09-01 |
6 | (āđāļĄāļāļ°) | āļāļģāļāļ§āļēāļĄāļŠāļ°āļāļēāļāļŠāļģāļāļąāļāļāļēāļ | (āđāļĄāļāļ°) |
7 | 4 | āđāļāđāļāļĩāļ§āļīāļāđāļŦāđāļŠāļāļļāļ | (āđāļĄāļāļ°) |
8 | 6 | āđāļāđāļāļĩāļ§āļīāļāđāļŦāđāļŠāļāļļāļ | (āđāļĄāļāļ°) |
āļāļēāļĢāļēāļāļāļĩāđāļĄāļĩāđāļāļĩāļĒāļ 4 āļāļāļĨāļąāļĄāļāđ:
- idāļāļ·āļāļŦāļĄāļēāļĒāđāļĨāļāđāļāļāļēāļ°āļāļāļāļāļēāļ (āđāļĨāļ°āđāļāļ§āđāļāļāļēāļĢāļēāļ)
- Employee_id - ID āļāļāļāļāļāļąāļāļāļēāļāļāļēāļāļāļēāļĢāļēāļāļāļāļąāļāļāļēāļāļāļĩāđāļĄāļāļāļŦāļĄāļēāļĒāļāļēāļāđāļŦāđ
- āļāļ·āđāļ - āļāļ·āđāļāđāļĨāļ°āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļāļāļāļēāļ
- āđāļŠāđāļāļāļēāļĒ - āđāļ§āļĨāļēāļāļĩāđāļāđāļāļāļāļģāļāļēāļāđāļŦāđāđāļŠāļĢāđāļ
āļĢāļēāļĒāļāļēāļĢāđāļāļĩāļĒāļ§āđāļāļāļēāļĢāļēāļāļāļāļąāļāļāļēāļāļŠāļēāļĄāļēāļĢāļāļāđāļēāļāļāļīāļāđāļāđāļŦāļĨāļēāļĒāđāļāļ§āđāļāļāļēāļĢāļēāļāļāļēāļ āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļĢāļ°āļāļąāļāļāļēāļĢāļēāļāļāļąāļāļāļĨāđāļēāļ§āđāļĢāļĩāļĒāļāļ§āđāļēāļŦāļāļķāđāļāļāđāļāļāļĨāļļāđāļĄ
āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļāļąāļāļĢāļ°āļāļąāļāļāļĨāļēāļŠ Java
āđāļĨāļ°āļāļąāđāļāđāļĢāļĩāļĒāļāļāļāļāđāļĢāļē āļāļąāđāļāđāļĢāļĩāļĒāļ āļāļāļąāļāļāļēāļ :
@Entity
@Table(name="user")
class Employee {
@Column(name="id")
public Integer id;
@Column(name="name")
public String name;
@Column(name="occupation")
public String occupation;
@Column(name="salary")
public Integer salary;
@Column(name="join_date")
public Date join;
}
āđāļĨāļ° āļāļĨāļēāļŠ EmployeeTaskāđāļāļĢāļđāļāđāļāļāļāļąāđāļāđāļāļīāļĄ:
@Entity
@Table(name="task")
class EmployeeTask {
@Column(name="id")
public Integer id;
@Column(name="name")
public String description;
@Column(name="employee_id")
public Integer employeeId;
@Column(name="deadline")
public Date deadline;
}
āļāļģāļāļāļīāļāļēāļĒāļāļĢāļ°āļāļāļ @OneToMany
āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāļąāļāđāļāļĢāļĩāļĒāļĄāļāļēāļĢāļŠāļ·āđāļāļŠāļēāļĢāļĢāļ°āļŦāļ§āđāļēāļāļāļĨāļēāļŠāļāļāļāđāļāļāļāļīāļāļĩāļāđāļ§āļĒāļ§āļīāļāļĩāļāļ·āđāļāđāļāđ
āļāļģ āļāļģāļāļāļīāļāļēāļĒ āļāļĢāļ°āļāļāļ @ElementCollectionāļāļĩāđāđāļĢāļēāđāļāļĒāļŠāļĢāđāļēāļāļāļāļĨāđāļĨāļāļāļąāļāļāļāļāļ§āļąāļāļāļļāļĒāđāļāļĒāđāļāļāļĨāļēāļŠāļāļēāđāļĢāļāļāđāđāļāđāđāļŦāļĄ āļŠāļīāđāļāļāļĩāđ āļāļĨāđāļēāļĒāļāļąāļāļŠāļēāļĄāļēāļĢāļāļāļģāđāļāđāļāđāļ§āļĒ āļāļģāļāļāļīāļāļēāļĒāļāļĢāļ°āļāļāļ @OneToMany āđāļāļāļēāļ°āđāļ§āļĨāļēāļāļĩāđ āļāļĨāļēāļŠ āļāļāļąāļāļāļēāļ āļāļ°āđāļāļĨāļĩāđāļĒāļāđāļ :
@Entity
@Table(name="user")
class Employee {
@Column(name="id")
public Integer id;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "employee_id")
private Set<EmployeeTask> tasks = new HashSet<EmployeeTask>();
}
āļāļēāļĢāđāļāđ āļāļģāļāļāļīāļāļēāļĒāļāļĢāļ°āļāļāļ @OneToManyāđāļĢāļēāļĢāļ°āļāļļāļ§āđāļēāļ§āļąāļāļāļļāļāļąāđāļāļāļāļąāļāļāļēāļāļŠāļēāļĄāļēāļĢāļāļāļąāļāđāļāđāļ āļ§āļąāļāļāļļ EmployeeTask āļāļģāļāļ§āļ āļĄāļēāļ āļāļāļāļāļēāļāļāļĩāđ āļāđāļ§āļĒāļāļēāļĢāđāļāđ āļāļģāļāļāļīāļāļēāļĒāļāļĢāļ°āļāļāļ @JoinColumnāđāļĢāļēāļĢāļ°āļāļļāļ§āđāļēāļāļāļĨāļąāļĄāļāđāđāļāļāļāļāļāļēāļĢāļēāļāļāļēāļāļāļĩāđāļāļąāļāđāļāđāļ ID āļ§āļąāļāļāļļāļāļāļąāļāļāļēāļ.
āļāļĒāđāļēāļāđāļĢāļāđāļāļēāļĄ āļāļĨāļēāļŠ EmployeeTaskāļĄāļąāļāļāļ°āđāļĄāđāļĄāļĩāļāļīāļĨāļāđāļāļĩāđāļāđāļēāļāļāļķāļāļāļāļĨāļąāļĄāļāđ Employee_id āļāļąāļ§āļāļĒāđāļēāļ:
@Entity
@Table(name="task")
class EmployeeTask {
@Column(name="id")
public Integer id;
@Column(name="name")
public String description;
@Column(name="deadline")
public Date deadline;
}
āļāļīāļĨāļāđ Employee_id āļāļ·āļāđāļāđāļāļāļīāļĨāļāđāļāļĢāļīāļāļēāļĢāđāļĨāļ°āļāđāļēāļāļ°āļāļđāļāļāļ§āļāļāļļāļĄāđāļāļĒāđāļŪāđāļāļāļĢāđāđāļāļ
āļāļāļāļąāļ§āļāļĒāđāļēāļ
āļŦāļēāļāļāļļāļāļāđāļāļāļāļēāļĢāđāļāļīāđāļĄāļāļēāļāđāļŦāđāļāļąāļāļāļāļąāļāļāļēāļ āļāļļāļāļāđāļāļāđāļāļĩāļĒāļāđāļāđāļāļāļąāļāļāļĩāđ:
EmployeeTask task1 = new EmployeeTask();
task1.description = "Do Something Important";
session.persist(task1);
EmployeeTask task2 = new EmployeeTask();
task2.description = "Nothing to do";
session.persist(task2);
session.flush();
Employee director = session.find(Employee.class, 4);
director.tasks.add(task1);
director.tasks.add(task2);
session.update(director);
session.flush();
āļāļąāđāļāđāļĢāļ āđāļĢāļēāļŠāļĢāđāļēāļ āļāļāļāđāļāļāļāđ EmployeeTask āļŠāļāļāļĢāļēāļĒāļāļēāļĢ āļāļąāļāļāļķāļāļĨāļāđāļāļāļēāļāļāđāļāļĄāļđāļĨ āđāļĨāļ°āđāļĢāļĩāļĒāļāđāļāđ āđāļĄāļāļāļ flush()āđāļāļ·āđāļāđāļŦāđāļāļēāļĢāļāļģāđāļāļīāļāļāļēāļĢ INSERT āļāļģāđāļāļīāļāļāļēāļĢ āđāļĨāļ°āļāđāļāļāđāļāđāļāļāđāļĄāļĩ ID
āļāļēāļāļāļąāđāļāđāļĢāļēāļāļ°āļāļāļāļđāđāļāļģāļāļ§āļĒāļāļēāļĢāđāļāļāļēāļāļāđāļāļĄāļđāļĨ āļĢāļąāļāļāļīāļĨāļāđāļāļēāļāļāļēāļāđāļāļē āđāļĨāļ°āđāļāļīāđāļĄāļŠāļāļāļāļēāļāđāļŦāđāļāļąāļāđāļāļē āļāļēāļāļāļąāđāļāđāļĢāļēāļāļąāļāļāļķāļāļāļđāđāļāļģāļāļ§āļĒāļāļēāļĢāļĨāļāđāļāļāļēāļāļāđāļāļĄāļđāļĨ āļŦāļĨāļąāļāļāļēāļāļāļąāđāļāļāđāļē 4 āļāļ°āļāļĢāļēāļāļāđāļāļāļēāļāļāđāļāļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļāļāļēāļāđāļŦāļĄāđāđāļāļāļāļĨāļąāļĄāļāđ Employee_id - āļĢāļŦāļąāļŠāļāļāļāļāļđāđāļāļģāļāļ§āļĒāļāļēāļĢāđāļāļāļēāļĢāļēāļāļāļāļąāļāļāļēāļ
āļŠāļģāļāļąāļ! āļāļēāļĢāļēāļāđāļāļāļēāļāļāđāļāļĄāļđāļĨāļāļ°āđāļŦāļĄāļ·āļāļāļāļąāļāļŠāļģāļŦāļĢāļąāļāļāļģ āļāļāļīāļāļēāļĒāļāļĢāļ°āļāļāļ @ManyToOneāđāļĨāļ°@OneToMany āđāļāđāļāļĨāļēāļŠ Java āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļēāļāđāļŦāļĨāđāļēāļāļĩāđāđāļāļāļāđāļēāļāļāļąāļ