私は、従業員のリストでXMLファイルを受け取り、親子/従業員マネージャの関係を単一のデータベーステーブルに格納するアプリケーションを構築しようとしています。親子関係 - 自己結合マッピング
私のXMLファイルには、この1のようになります。
<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>
一つの従業員は、唯一のマネージャーを持つことができますが、1つのマネージャは、複数の部下/従業員を持つことができます。
受信したXMLファイルをアンマーシャリングするときに問題はありませんが、データベースにアンマーシャリングされた値を格納できる適切なモデルを作成しようとしています。データは、「従業員」という名前のテーブルに格納する必要があり、以下のデータが含まれている必要があります。
------------------------------
| id | Integer |
------------------------------
| employee_name | String |
------------------------------
| parent_id | Integer | -- reference to the manager
------------------------------
私は
Employee
という名前の新しいクラスを作成しましたが、私は適切なManyToOne/OneToMany注釈を定義するかどうかはわかりません。
私はこれにかなり新しいので、いくつかの例とチュートリアル(同様にスタックオーバーフローに関する同様の質問の回答も)をGoogleで探そうとしましたが、私はこの点で大きなミスを犯していると思いますこのモデルを定義する際の実装。
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
誰もが適切なモデルを定義する方向に私を指すことができれば、それははるかになり、感謝:私の最新の試みは、このようになります! Hibernate
で
ありがとう、chsdk。あなたが提案した方法でソリューションを実装しようとします。私はそれを作ることができますように願っています。 – hezus
@hezusあなたは歓迎です、私はそれがあなたに期待される結果を与えると確信しています。 –