【发布时间】:2017-08-29 07:42:38
【问题描述】:
我正在尝试构建一个应用程序,该应用程序将接收包含员工列表的 XML 文件,并将父-子/员工-经理关系存储在单个数据库表中。
我的 XML 文件如下所示:
<Employees>
<Employee manager="Patrick">Martin</Employee>
<Employee manager="Patrick">Kent</Employee>
<Employee manager="Martin">Mark</Employee>
<Employee>Hugo</Employee> <!-- root element of the employee-manager tree -->
<Employee manager="Hugo">Osa</Employee>
<Employee manager="Osa">Patrick</Employee>
</Employee>
一名员工只能拥有一名经理,但一名经理可以拥有多名下属/员工。
在解组收到的 XML 文件时我没有遇到任何问题,但现在我正在尝试创建适当的模型,以便我将解组后的值存储在数据库中。数据应存储在名为“Employee”的表中,并应包含以下数据:
------------------------------
| id | Integer |
------------------------------
| employee_name | String |
------------------------------
| parent_id | Integer | -- reference to the manager
------------------------------
我创建了一个名为 Employee 的新类,但我不确定如何定义适当的 ManyToOne/OneToMany 注释。
由于我对此很陌生,因此我在 Google 上搜索了几个示例和教程(以及 Stack Overflow 上类似问题的答案),但我想我在此实现中犯了一些大错误在定义这个模型时。我最近的尝试是这样的:
public class Employee {
@Id
@GeneratedValue
private int id;
@Column(name = "parent_id")
@Transient
@ManyToOne(cascade={CascadeType.ALL})
private String managerName;
@Column(name = "employee_name")
@JoinColumn(name="parent_id")
private String employeeName;
// getters and setters
如果有人能指出我定义合适模型的方向,那将不胜感激!
【问题讨论】:
标签: java spring hibernate jpa hibernate-mapping