gpt4 book ai didi

hibernate - 如何为自引用表创建 Hibernate 映射

转载 作者:行者123 更新时间:2023-12-02 23:23:13 25 4
gpt4 key购买 nike

有人问我如何为表中引用表主键的列创建 hibernate 映射。

例如,员工表以 EMP_ID 作为主键,并且还具有 MGR_ID 列来了解员工的经理。由于经理也是员工,因此它会位于同一张表中。因此,每个员工行都有一个经理 ID,它也是一名员工。

  1. 我们如何为这个 Employee 类创建 Hibernate 映射?
  2. Employee 类会是什么样子?它是否只有一个经理 ID,或者它将包含另一个 Employee 对象作为成员变量。

请帮助我解决这种情况。谢谢。

最佳答案

您可以在 Employee 类中引用 manager

实体看起来像这样:

@Entity
@Table(name="EMPLOYEE")
public class Employee {

@Id
@Column(name="EMPLOYEE_ID")
@GeneratedValue
private Long employeeId;

@Column(name="FIRSTNAME")
private String firstname;

@Column(name="LASTNAME")
private String lastname;

@ManyToOne(cascade={CascadeType.ALL})
@JoinColumn(name="manager_id")
private Employee manager;

@OneToMany(mappedBy="manager")
private Set<Employee> subordinates = new HashSet<>();

public Employee() {
}

public Employee(String firstname, String lastname) {
this.firstname = firstname;
this.lastname = lastname;
}

// Getter and Setter methods
}

请参阅此链接以获取完整示例:

Hibernate Self Join Annotations One To Many mapping example

关于hibernate - 如何为自引用表创建 Hibernate 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29975751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com